Restaurant-quality beef vindaloo made right in the comfort of your kitchen delivers all the depth, flavor, and kick you expect from your favorite Indian take-out dish. Tender beef is cooked low and slow with a rich blend of spices for a juicy, high-protein, one-skillet curry that pairs beautifully with basmati rice and warm naan.
What Makes This Recipe So Good
- Inspired by the classic dish you’d find at your local Indian restaurant in the West, this spicy beef vindaloo is easy enough to make at home, even if you’re new to cooking Indian cuisine.
- Beef vindaloo is traditionally packed full of delicious flavors, spices, and a hearty helping of heat, and this recipe is no different. With rich, warm spices like garam masala, cumin, paprika, turmeric, ground mustard, ground ginger, cayenne, and cinnamon, it’s hard to resist going back for another serving.
- I won’t lie, this is a pretty hot dish. You can control that a little, though! If you’re sensitive to heat, use caution when adding the cayenne (or omit it altogether if you know it’s not your thing). If you’re not one to shy away from spice, feel free to double the cayenne or even add some red chili peppers for another layer of flavor.
About Beef Vindaloo
Traditionally a Goan recipe, beef vindaloo can be traced back to Portuguese explorers of the early 1400s. The Portuguese would preserve meats in a marinade of vinegar, wine, garlic, and salt, to ensure the meats would keep for their travels.
Fast forward 400 or so years, and you have Goan cooks preparing vindaloo for the British imperialists colonizing India. Beef, pork, and duck vindaloo (or “vindalho”) can even be found in a British-Indian cookbook dating back to 1888.
The colonizers took the recipe with them through other parts of the world, though it didn’t really surge in popularity across Britain until the late 1900s. Of course, the recipe’s been adapted and transformed so much over time and across regions that what we typically think of as vindaloo today differs quite a bit from the original Goan/Portuguese dish. Our recipe below is more in line with the British take on beef vindaloo than the authentic Goan rendition.
- Vindaloo can be made with a variety of proteins. You’ll commonly find it with beef, pork, lamb, or chicken. This beef version is my personal favorite, but feel free to swap in a different type of meat if you’d rather. Keep in mind that a protein like chicken won’t need to cook as long as the beef chuck we used here.
- To save yourself a little prep time, you can purchase pre-chopped beef chuck. You might find it at your grocery store as “stew meat”. Whether you buy it already chopped or you chop the beef chuck yourself, make sure the pieces are fairly even in size so they cook at the same speed.
- When you’re cooking the diced onion, don’t rush things. Cooking them until they’ve caramelized brings out SO much flavor and really makes a difference in the sauce. If you notice the onions start to burn, add 1-2 tablespoons of water to slow the process.
- I mentioned before you can skip the cayenne entirely if you’re cooking for someone with a low spice tolerance. You can also serve your beef vindaloo with a dollop or two of plain Greek yogurt. It’ll help cut through the heat, and it adds a really nice creaminess to the dish. I also recommend serving it with a side of basmati rice and some warm naan, too.
Other One-Pan Recipes You’ll Love
For the Beef
- 2 pounds beef chuck see Notes
- 1 teaspoon salt
- ½ teaspoon freshly cracked black pepper
- 3 tablespoons neutral oil
For the Sauce
- 1 medium onion chopped
- 3 cloves garlic minced
- 2 teaspoons garam masala
- 2 teaspoons cumin
- 1 teaspoon paprika
- 1 teaspoon turmeric
- ½ teaspoon ground mustard
- ½ teaspoon cayenne pepper omit for more mild flavor
- ½ teaspoon ground ginger
- ½ teaspoon cinnamon
- 2 tablespoons tomato paste
- ¼ cup apple cider vinegar
- 1 cup low-sodium beef stock plus more as needed
To Serve (All Optional)
- cooked basmati rice
- warmed naan
- plain Greek yogurt
- Sharp knife
- Cutting board
- Large bowl
- Large skillet with lid or heavy-bottomed pot with lid
- large wooden spoon or spatula
- large plate or bowl
- Use sharp kitchen knife to cut beef chuck into 2-inch thick cubes, then transfer cubed beef chuck to large mixing bowl.
- Add 1 teaspoon salt and ½ teaspoon freshly cracked black pepper to mixing bowl. Toss or gently stir beef to coat thoroughly with salt and pepper. Set aside.
- Heat large skillet over medium-high heat. Once pan is hot, add neutral oil and swirl pan to coat bottom with oil. Heat oil over medium-high heat until oil is hot and shimmery.
- Once oil is hot and shimmery, add seasoned beef chuck to skillet. Sauté beef chuck until browned on all sides, approximately 6 minutes. Transfer browned beef to plate or bowl and set aside.
- Reduce heat under skillet to medium. Do not drain skillet.
- Add chopped onion to skillet. Cook 15 minutes, stirring frequently, until onion has browned and caramelized. Be careful not to burn onions.
- Once onion has caramelized, add minced garlic to skillet. Stir to incorporate, then let onions and garlic cook together 2 minutes or until garlic has softened.
- After 2 minutes, add garam masala, cumin, paprika, turmeric, ground mustard, cayenne, ground ginger, and cinnamon to skillet. Stir to fully incorporate all spices. Continue stirring, cooking 1 minute or until spices are fragrant.
- Add tomato paste to skillet. Stir just until paste and spices are fully incorporated.
- Pour in apple cider vinegar to deglaze skillet. Cook 2 to 3 minutes, stirring constantly and scraping up any browned bits that might be stuck to bottom of skillet.
- Pour in beef stock and gently stir to incorporate. Return browned beef to skillet and let mixture cook over medium heat until liquid begins to boil.
- When liquid just begins to boil, reduce heat to medium-low. Cover skillet with lid and let beef and sauce simmer 60 minutes. While simmering, stir mixture occasionally and flip beef as needed to ensure even cooking. Note: if sauce becomes too thick, add 1 to 2 tablespoons beef stock as needed to thin sauce back out. Stir to fully incorporate stock before adding more.
- When beef is fully cooked and tender, and sauce has thickened to desired consistency, taste sauce and adjust salt as needed. Note: if vinegar flavor is too strong, stir in ½ to 1 packed teaspoon brown sugar and simmer another 2 to 3 minutes.
- When satisfied with flavor of sauce, remove skillet from heat. Divide beef vindaloo into equal portions and serve immediately over basmati rice with warmed naan and 1 to 2 dollops plain Greek yogurt if desired.
- Beef Chuck: Lamb, pork, and chicken will all work in this dish. Chicken will need a shorter cook time.
- Cayenne: For a more mild vindaloo, omit the cayenne entirely.
- Vinegar: White vinegar can be used in place of apple cider vinegar. If the vinegar flavor is too strong after simmering the sauce for 60 minutes, stir in ½-1 packed teaspoon brown sugar and let mixture simmer another 2-3 minutes.
- Greek Yogurt: If you’re sensitive to heat, definitely serve your vindaloo with 1-2 dollops of Greek yogurt. It’ll help offset some of the spiciness of the dish.
- Basmati Rice: Check out our recipe for Instant Pot Basmati Rice! It works perfectly for this vindaloo recipe.
Number of total servings shown is approximate. Actual number of servings will depend on your preferred portion sizes.
Nutritional values shown are general guidelines and reflect information for 1 serving using the ingredients listed, not including any optional ingredients. Actual macros may vary slightly depending on specific brands and types of ingredients used.
To determine the weight of one serving, prepare the recipe as instructed. Weigh the finished recipe, then divide the weight of the finished recipe (not including the weight of the container the food is in) by the desired number of servings. Result will be the weight of one serving.