Heat the olive oil in a large pot over medium-high heat.
Season the beef cubes with salt and pepper, then add them to the pot.
Brown the beef on all sides, about 5-7 minutes. Remove and set aside.
In the same pot, add the chopped onion and cook until translucent, about 5 minutes.
Stir in the minced garlic and cook for an additional minute until fragrant.
Pour in the beef broth, scraping up any brown bits from the pot.
Return the browned beef to the pot along with the cranberries, apples, carrots, thyme, and bay leaf.
Bring the stew to a boil, then reduce the heat to a simmer. Cover and cook for 2 to 2.5 hours.
Check for seasoning and adjust with salt and pepper as needed.
If you prefer a thicker stew, stir in the cornstarch slurry and cook for an additional 10 minutes.
Remove the bay leaf before serving.
Serve warm, garnished with fresh thyme if desired.