Preheat the oven to 350 degrees F.
Fill a large shallow bowl with the flour.
In a large Dutch oven or an oven-safe pot with a lid over medium-high heat, add 1 tablespoon of the olive oil.
Add the onion and the carrots to the heated olive oil and cook, stirring constantly, until the vegetable mixture is tender, about 2-3 minutes.
Transfer the vegetable mixture to a medium bowl.
Season the ribs on all sides with the salt and the black pepper.
Coat the ribs on all sides in the flour.
To the same Dutch oven over high heat, add the remaining olive oil.
Brown the ribs in the olive oil on all sides, about 45 seconds per side.
Transfer the ribs to a paper-towel-lined plate.
In the same Dutch oven over medium-high heat, add the dry red wine to deglaze the pan, scraping the bottom of the pan to release any browned bits.
Bring the wine to a boil and cook for 2 minutes.
Add the beef broth, the salt, and the black pepper to the wine and cook for 2 minutes.
Add the tomato paste to the sauce mixture and cook for 2 minutes.
Taste the sauce mixture and adjust the seasonings to taste.
Add the ribs, the vegetable mixture, the thyme, and the rosemary to the sauce mixture and gently stir to cover the ribs.
Cover the Dutch oven with the lid and bake the ribs for 2 hours.
Reduce the heat to 325 degrees F and cook until the ribs are tender, nearly falling off the bone, and reach an internal temperature between 190-200 degrees F, about 30-45 minutes.
Transfer the Dutch oven from the heat, still covered, and allow the ribs to rest, about 20 minutes.
Skim off any fat from the ribs.
Plate the ribs over the mashed potatoes and drizzle with their juices.