01 - Warm olive oil in a large Dutch oven or heavy pot over medium-high heat.
02 - Add beef cubes and brown evenly on all sides, about 5 minutes. Remove and set aside.
03 - Add onion, carrots, and celery to the pot and sauté for 5 minutes until softened.
04 - Stir in minced garlic and tomato paste; cook for 1 minute until aromatic.
05 - Return beef to the pot and add diced ham; stir to combine evenly.
06 - Pour in beef broth and red wine if using. Add diced tomatoes, smoked paprika, thyme, bay leaf, salt, and black pepper.
07 - Bring to a simmer, reduce heat to low, cover, and cook for 1.5 to 2 hours, stirring occasionally until beef is tender.
08 - Remove bay leaf. Taste and adjust seasoning as necessary.
09 - Serve hot with crusty bread or over mashed potatoes as desired.