Warm the canola oil in a large Dutch oven over medium heat. Add the beef cubes in batches, browning them on all sides to lock in flavor. Once seared, remove excess fat if necessary.
Toss in the chopped onion and minced garlic. Sauté for 2 to 3 minutes, stirring regularly, until the onion softens and turns translucent. Mix in the tomato paste and cook for another minute to deepen its flavor.
Slowly pour in the beef broth, scraping the bottom of the pot to release any browned bits. Stir until the tomato paste dissolves completely into the liquid.
Add the celery, carrots, bay leaves, thyme, rosemary, salt, and pepper. Give everything a good stir to evenly distribute the herbs and vegetables.
Bring the stew to a rolling boil, then lower the heat. Cover the pot and let it simmer gently for about 1 hour and 30 minutes, or until the beef becomes fork-tender.
Remove the lid and let it simmer uncovered for another 15 to 20 minutes, allowing the broth to reduce slightly and intensify in flavor. Discard the bay leaves before serving.