Preheat the oven to 500°F.
Using a paring knife, cut small incisions in the meat and shove the pieces of garlic into them. Do this until the meat is stuffed with garlic all over. Place the brisket in a rimmed baking dish (preferably metal) and brown it in the oven, about 10 minutes per side.
Remove the meat, and pour in the beef stock (NOTE: if you are using a pyrex dish, wait a few minutes for the pan to acclimate to room temperature so it does not shatter). Turn the oven down to 350 degrees, cover the dish with foil, and cook in the oven for 1 hour.
In the meantime, saute the onions in 1 tablespoon of olive oil over medium-low heat until soft and caramelized, about 25-30 minutes, stirring occasionally.
Remove the meat from the oven, and add the remaining ingredients to the pan. Using a fork, whisk them all together with the beef stock. When the onions have finished cooking, arrange them on top of the meat. Cover the pan again with foil, and return it to the oven for 2-3 hours. If you want to be able to cut the brisket into slices, take it out at 2 hours, or even a little before. If you want it to be falling apart, more along the lines of a pulled brisket, keep it in for the full 3.
Remove the meat from the oven, and transfer it to a cutting board. Slice the brisket against the grain into thick slices. Return the meat to the sauce and serve, or store in the fridge overnight–the brisket can be made a day or two in advance.