Toss cubed beef with flour until evenly coated.
Heat olive oil in a large skillet or Dutch oven over medium-high heat.
Sear beef in batches until browned on all sides; set aside.
Add diced onion to the pan and cook until softened.
Sprinkle in paprika and stir for 30 seconds.
Pour in red wine and scrape up browned bits; simmer 2 minutes.
Stir in beef broth, tomato paste, salt, pepper, and bay leaf.
Return beef to the pan, cover, and simmer on low for 90 minutes until tender.
Remove bay leaf, taste and adjust seasoning, then serve over mashed potatoes.
Tip: For extra thickness, mix 1 tbsp flour with a little water and stir in during the last 10 minutes.