Preheat the oven to 375°F.
Dust brisket all over with flour, if using. Season the brisket with pepper.
In a large Dutch oven over medium-high heat, add the oil and heat until shimmering. Add the brisket to the Dutch oven and cook, turning halfway through cooking time, 10 to 14 minutes or until scattered crusty and browned areas appear on the brisket. Transfer the brisket to a platter.
Add the butter to the Dutch oven and cook until the butter is melted.* Add the onions and cook, stirring constantly with a wooden spoon. Continue cooking and scraping up any browned bits stuck to the bottom of the pot, 10 to 15 minutes or until the onions have softened and developed a rich brown color but aren’t caramelized. Remove the pot from the heat. Place the brisket on the onions and pour any accumulated juices on the platter over the brisket.
Using a knife or a small spatula, spread the tomato paste over the brisket. Season the brisket with salt and pepper and then add the garlic and carrot to the pot. Cover the pot, transfer it to the oven, and cook, untouched, for 1-½ hours.
Transfer the brisket to a cutting board. Using a very sharp knife, thinly slice the brisket across the grain into approximately ⅛-inch-thick slices. Return the slices to the pot, overlapping them at an angle so that you can see a bit of the top edge of each slice. The end result should resemble the original unsliced brisket leaning slightly backward. If absolutely necessary, add 2 to 3 teaspoons water to the pot.
Reduce the oven temperature to 325°F. Cover the pot and cook, occasionally drizzling the meat with pan juices, about 2 hours or until the brisket is fork-tender. If the pan juices have evaporated, add up to a tablespoon of water and return to the oven.
When the brisket is fork-tender, remove it from the oven and let stand, covered, for 15 minutes.*
Arrange the brisket slices on a platter and spoon some of the pan juices over the brisket to barely moisten it.
Arrange the onions from the pan around the brisket. *