Pat the beef cubes completely dry with paper towels. Season generously with salt and pepper. Heat 2 tablespoons of olive oil in your Dutch oven over medium-high until shimmering. Add half the beef in a single layer – don't crowd the pan. Sear for 3-4 minutes per side until deeply browned. Transfer to a plate. Repeat with the remaining oil and beef.
Reduce heat to medium. Add the diced onion and cook until soft and golden, about 5 minutes. Add the garlic and tomato paste, stirring constantly for 1 minute until the paste darkens and smells rich. (The tomato paste should coat the onions and turn a deep brick red – that's when it's ready.)
Sprinkle the flour over the onions and stir well. Cook for 1 minute to get rid of the raw flour taste. Slowly pour in the beef broth and red wine, scraping up all those browned bits from the bottom of the pan with your wooden spoon. That scraping is where the flavor lives – don't skip it.
Add the seared beef back to the pot, along with any juices that collected on the plate. Tuck the rosemary sprigs and bay leaves into the liquid.
Bring the gravy to a gentle simmer (not a rolling boil – just a few lazy bubbles breaking the surface). Cover the pot, reduce the heat to low, and let it cook for 45 minutes to 1 hour, until the beef is fork-tender. After 45 minutes, try pulling a piece of beef apart with a fork. If it resists, give it another 10 minutes.
Remove the rosemary stems and bay leaves. Taste the gravy. Add salt and pepper if needed. If the gravy is too thin, let it simmer uncovered for 5 minutes to thicken. If it's too thick, splash in a little extra broth.
Spoon over mashed potatoes, egg noodles, or rice. Garnish with a tiny sprinkle of fresh rosemary if you're feeling fancy.