Add beef chunks to a large bowl, and sprinkle with flour, salt, and black pepper. Toss to combine.
Add a heavy-duty, oven-safe large pot or Dutch oven over medium-high heat and add 2 tablespoons of oil.
Once the oil is hot, add the beef (a few pieces at a time) into one layer, making sure to not overcrowd. Brown, turning the pieces on all sides, for about 5 minutes per batch. Remove from pot and transfer to a plate, cover with foil.
Add another 2 tablespoons of oil to the pot and cook another batch of beef.
Once done cooking the beef, reduce the heat to medium and add the wine to deglaze the pot. Use a wooden spoon to scrape well the bits that stuck to the bottom.
Add two tablespoons of butter and melt it. Add the diced onion and minced garlic, stir and cook for 1 minute.
Add Worcestershire sauce and tomato paste, diced tomatoes, jalapenos, bell peppers, taco seasoning, lime juice, and zest, stir to combine.
Add 4 cups of beef broth and stir.
Add back the beef pieces. Add the quartered onion, whole garlic cloves, bay leaves, and a fresh bunch of thyme.
Cover and cook on low heat, skimming broth from time to time, until the beef is tender, for about 1 1/2 hours.
Preheat oven to 300 degrees F.
Discard the thyme and bay leaves.
Add the carrots, celery, mushrooms, and potatoes. Stir to combine. Cover and cook in the preheated oven for about 1 hour, or until the veggies are tender. If needed, add broth or water if the stew is dry.
Remove the stew from the oven, taste, and adjust for salt and pepper. If you prefer the stew to be thicker, add a cornstarch and water slurry to thicken it. Stir and boil it for 2 minutes.
Serve the stew warm, garnished with freshly chopped cilantro.