
Servings: 4–5 people
Prep Time: about 20 minutes (plus marinating time)
Cook Time: about 2 hours 30 minutes
Total Time: around 2 hours 50 minutes
Calories (per serving): approximately 441 kcal
This traditional Indian-style vindaloo is a robust and fiery beef curry rich in deep, layered spice flavors and a tangy sauce. The texture of the slow-cooked beef becomes meltingly tender, soaking in all the aromatic spices and vinegar, while the sauce thickens into a vibrant, glossy crimson curry. It’s the kind of meal that fills your kitchen with deeply savory fragrances long before it’s ready to serve.
Ingredients
For the Beef and Marinade:
- 800 g (1.6 lb) beef chuck, cut into roughly 3 cm (1.2″) cubes — choose pieces with a bit of marbling so they become tender and juicy through slow cooking.
- 1 ½ teaspoons salt — to season the beef before marinating.
For the Vindaloo Curry Paste (Marinade Base):
- 6 tablespoons Kashmiri chilli powder — this spice is the backbone of the dish, providing that signature red color and bold heat.
- 2 teaspoons coriander seeds — fragrant and earthy.
- 3 teaspoons cumin seeds — warm and aromatic.
- 4 whole cloves — pungent and slightly sweet.
- 4 green cardamom pods — floral, citrusy spice.
- 2 teaspoons cinnamon powder — adds warmth and depth.
- ½ teaspoon black peppercorns — a subtle heat.
- 2 tablespoons fresh ginger, roughly chopped — pungent and zingy.
- 10 garlic cloves, peeled — bold garlic flavor throughout.
- 1 teaspoon brown sugar — to balance acidity and spice.
- 1 teaspoon fenugreek seeds — slightly sweet and nutty.
- ¼ teaspoon turmeric powder — for color and mild bitterness.
- 7 tablespoons white vinegar — sharp acidity that defines vindaloo.
- 2 cups water — used to help blend the paste and will cook down.
For the Vindaloo Sauce:
- 50 g (3 tablespoons) ghee or unsalted butter — rich fat to sauté aromatics.
- 1 onion, finely chopped — foundational sweetness and texture.
- 2 teaspoons fresh ginger, finely grated — bright, spicy heat.
- 4 garlic cloves, finely minced — layers more garlic flavor into the sauce.
- 1 ½ teaspoons black mustard seeds — they pop and perfume the oil.
- 2 tablespoons tomato paste — concentrated tomato flavor and body.
- 10 fresh curry leaves — aromatic and slightly citrusy.
- 2 cups beef stock (low sodium) — rich liquid base for the sauce.
For Garnish:
- 2 tablespoons coriander (cilantro) leaves, roughly chopped — fresh brightness.
Instructions
Step 1: Prepare and Season the Beef
Begin by spreading the cubed pieces of beef out in a bowl and sprinkle the salt evenly over them. Use your hands to gently toss the beef so each piece is lightly but thoroughly coated in salt. This step helps to draw out moisture and begin seasoning the meat deep inside before marinating.
Step 2: Make the Vindaloo Curry Paste
Gather all the curry paste ingredients — the chilli powder, spices (coriander seeds, cumin seeds, cloves, cardamom, cinnamon, peppercorns, fenugreek and turmeric), fresh ginger, garlic, brown sugar, white vinegar and water — and place them into a food processor or high-speed blender. Add just 1 cup of the water at first.
Run the processor until everything transforms into a richly scented, smooth paste. Scrape down the sides of the bowl if needed to make sure no larger pieces remain. Once smooth, pour this thick paste over the seasoned beef in your bowl.
Using the remaining 1 cup of water, swirl it into the blender or processor briefly to collect any leftover paste still clinging to the sides, then pour this over the marinating beef too. Gently fold the marinade and beef together so every chunk is coated in the vibrant, spiced mixture.
Cover the bowl with plastic wrap or a lid and refrigerate for at least 2 hours. You can marinate longer up to 24 hours — although the intense spice and vinegar will already penetrate deeply.
Step 3: Preheat and Build the Sauce Base
About 20 minutes before you’re ready to cook, preheat your oven to 190 °C (375 °F). Position a large heavy-bottomed pot or Dutch oven on the stove over medium-high heat.
Add the ghee or butter to melt, then add the finely chopped onion, grated ginger and minced garlic. Stir frequently so they cook evenly, gently softening and becoming translucent — this should take about 3 minutes. The aroma at this point should be rich, warm and deeply fragrant, with garlic and ginger perfuming the kitchen.

Step 4: Toast Aromatics and Develop Sauce
Once the onion mixture is softened, sprinkle in the black mustard seeds. They will begin to pop energetically — this is normal and adds to the distinctive flavor layers. Stir in the tomato paste, letting it cook with the aromatics for about 1 minute; this tempers its raw edge and infuses the base with a deep tomato umami.
Pour in the beef stock and give everything a good stir to bring it together. Carefully transfer this mixture into a jug or blending container that is tall enough for your stick blender. Use the stick blender to puree the mixture until completely smooth. This process breaks down all the onion, garlic and ginger pieces into a silky base that will become your curry sauce. Pour the pureed base back into the pot.
Step 5: Add Beef and Slow Cook
Bring the pureed sauce in the pot to a gentle simmer, then add the marinated beef along with all the curry leaves. Stir to ensure the beef and curry leaves are fully incorporated into the sauce.
Cover the pot with its lid and carefully transfer it into the preheated oven. Let the curry cook undisturbed for 2 hours. During this time, the beef will slowly become fall-apart tender, and the sauce will reduce and deepen to a thick, vibrant red. The surface may barely bubble — this is ideal, because the gentle heat allows the sauce to concentrate without burning. If after cooking you find the sauce less thick than desired, you can return the pot to the stove and reduce it on low heat.
Step 6: Serve
When the beef is tender enough to break apart easily with a fork and the sauce is rich and glossy, remove the pot from the oven. Let it rest briefly before spooning into bowls over fluffy basmati rice. Sprinkle the freshly chopped coriander leaves over the top. Serve with warm naan bread on the side, and yogurt if you want something to cool the heat.
Serving Suggestions
This hearty vindaloo pairs wonderfully with plain basmati rice, which soaks up the spicy sauce, and warm, soft naan to tear and mop up every last drop. A side of cooling plain yogurt or sliced cucumber salad can gently balance the curry’s intensity.