In a large pot or Dutch oven, heat olive oil over medium-high heat. Season the beef cubes with salt and pepper, then add them to the pot. Sear the beef on all sides until browned (about 5-7 minutes). Remove the beef from the pot and set aside.
In the same pot, add the chopped onion and carrots. Sauté for about 3-5 minutes until the onions are translucent. Add the minced garlic and cook for an additional minute.
Sprinkle the flour over the vegetable mixture and stir well, cooking for about 2 minutes to eliminate the raw flour taste.
Slowly pour in the apple cider, scraping the bottom of the pot to release any browned bits.
Return the seared beef to the pot along with any juices. Add the beef broth, potatoes, thyme, rosemary, and bay leaf. Stir well to combine.
Bring the stew to a gentle boil, then reduce the heat to low. Cover and simmer for about 1.5 to 2 hours, or until the beef is tender and the flavors have melded. Stir occasionally and add a bit of water if needed to maintain the desired consistency.
While the stew is simmering, prepare the mashed potatoes. In a separate pot, boil the cubed potatoes in salted water for about 15-20 minutes until fork-tender. Drain and mash them with a splash of milk, a tablespoon of olive oil, and season with salt and pepper to taste.
Once the stew is ready, taste and adjust seasoning as needed. Remove the bay leaf. Serve a generous ladle of beef stew over a mound of creamy mashed potatoes.
Sprinkle fresh parsley on top for a burst of color and freshness.