Heat the oven to 350°F.
Lightly dust the brisket with flour, then sprinkle with pepper to taste. Heat the oil over medium-high heat in a large ovenproof enameled cast-iron pot or other heavy pot with a lid just large enough to hold the brisket snugly. Add the brisket to the pot and brown on both sides until crusty brown areas appear on the surface here and there, 5 to 7 minutes per side.
Transfer the brisket to a platter, turn up the heat a bit, then add the onions to the pot and stir constantly with a wooden spoon, scraping up any browned bits stuck to the bottom of the pot. Cook until the onions have softened and developed a rich brown color but aren't yet caramelized, 10 to 15 minutes.
Turn off the heat and place the brisket and any accumulated juices on top of the onions.
Spread the tomato paste over the brisket as if you were icing a cake. Sprinkle with salt and more pepper to taste, then add the garlic and carrot to the pot. Cover the pot, transfer to the oven, and cook the brisket for 1 1/2 hours.
Transfer the brisket to a cutting board and, using a very sharp knife, slice the meat across the grain into approximately 1/8-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. Check the seasonings and, if the sauce appears dry, add 2 to 3 teaspoons of water to the pot.
Cover the pot and return to the oven. Lower the heat to 325°F and cook the brisket until it is fork-tender, 1 1/2 to 2 hours. Check once or twice during cooking to make sure that the liquid is not bubbling away. If it is, add a few more teaspoons of water—but not more. Also, each time you check, spoon some of the liquid on top of the roast so that it drips down between the slices.
It is ready to serve with its juices, but, in fact, it's even better the second day. It also freezes.