Using paper towels, pat the brisket flat dry. Sprinkle the dry rub all over the brisket. Gently pat the rub onto the brisket.
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 from the bottom of the Dutch oven, for 10 to 15 minutes or until the onions have softened and developed a rich brown color. Do not caramelize them. Remove 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. Add the garlic and carrot to the pot. Cover the brisket, transfer it to the oven, and cook, untouched, for 1-½ hours.
Reduce the oven temperature to 325°F.
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. If absolutely necessary, add 2 to 3 teaspoons of water to the pot.
Cover the brisket and cook, occasionally drizzling the meat with pan juices, for about 2 hours, If the pan juices have evaporated, add up to a tablespoon of water and return to the oven.
When the brisket is fork-tender and and the internal temperature is above 190°F and not over 205°F, remove it from the oven. Lett it stand, covered, for 15 to 30 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 Dutch oven around the brisket. Serve warm with your chosen side dishes.