Preheat oven to 300º
In a large enameled cast-iron dutch oven, heat olive oil over moderate heat until shimmering. Season the short ribs with salt and pepper. Add to the pot in one layer and brown well on both sides, about 10 minutes. Transfer short ribs to a plate.
Reserve 1 tablespoon of fat in pot. Add onions and a generous pinch of salt. Cook, stirring occasionally, until nicely browned, about 5-6 minutes. Add the tomato paste, garlic, oregano, basil, and crushed red pepper, stir until fragrant, about 2 minutes. Add the crushed tomatoes and their juices, the carrot and parmesan rind. Season with salt. Bring to a simmer.
Return the short ribs and their accumulated juices to the pot. Turn a few times and nestle into the sauce. Bring back to simmer, cover and transfer to oven.
Braise in the oven for 3 hours until meat is very tender. Remove from oven. Skim fat from top, leaving some, again, for flavor.
Transfer meat to cutting board. Discard carrot and parmesan rind. With two forks, shred meat into 1-inch chunks. Return meat to sauce and season with salt and pepper.
In large stock pot of boiling, salted water, cook spaghetti until al dente. Drain, reserving 1 cup of cooking water. Transfer pasta to pot of gravy and toss and simmer for 1-2 minutes. Add some pasta water if it seems too thick. Serve immediately in large bowl with grated parmesan cheese.