Cut the beef chuck into 2-inch cubes and place in a large mixing bowl.
Season with salt and black pepper. Toss well to coat evenly.
Heat a large skillet over medium-high heat.
Add oil and heat until shimmering.
Add the beef and brown on all sides for about 6 minutes.
Transfer the browned beef to a plate and set aside.
Reduce heat to medium and add the chopped onion to the same skillet.
Cook for about 15 minutes, stirring often, until deeply caramelized.
Add minced garlic and cook for 2 minutes.
Stir in garam masala, cumin, paprika, turmeric, mustard, cayenne, ginger, and cinnamon.
Cook for 1 minute until fragrant.
Add tomato paste and stir until combined.
Pour in apple cider vinegar and scrape up any browned bits from the pan.
Cook for 2 to 3 minutes.
Add beef stock and stir well.
Return the browned beef to the skillet.
Bring the Beef Vindaloo mixture to a gentle boil.
Reduce heat to medium-low and cover.
Simmer for approximately 60 minutes, stirring occasionally.
Add a splash of beef stock if the sauce becomes too thick.
Once the beef is tender and the sauce reaches your preferred consistency, taste and adjust seasoning.
If the vinegar flavor is stronger than desired, stir in ½ to 1 teaspoon brown sugar and simmer for an additional 2 to 3 minutes.
Serve hot over basmati rice with naan and Greek yogurt if desired.