1head broccolilarge, about 500 g, cut into medium florets, thick stem peeled and sliced
1tablespoonoil
1/4teaspoonsalt
pinchKashmiri chilli powderoptional, for color
For the tomato-cashew base
15cashewsabout 1/4 cup
1/4cuphot waterfor soaking
1tablespoonoil
1tablespoonunsalted butter
1onionsmall, sliced, optional for body
1teaspoongingergrated
3garlic clovesminced, or 1 teaspoon garlic paste
3tomatoesmedium, roughly chopped, about 2 cups
1/2teaspoonturmeric
1teaspoonKashmiri chilli powder
1teaspooncoriander powder
1/2teaspooncumin powder
1/2cupwaterfor simmering
saltto taste
For finishing the gravy
1tablespoonunsalted butter
1/2-3/4cupwarm wateras needed
1teaspoonsugaroptional, balances tomato acidity
3tablespoonsfresh creamor more to taste
1teaspoonkasuri methicrushed
1/2teaspoongaram masala
1teaspoonbutter or creamto swirl at the end
To garnish
1tablespooncream
fresh cilantrochopped, optional
pinchkasuri methicrushed
Get Recipe Ingredients
Instructions
Roast the broccoli
Heat the oven to 425°F / 220°C. Toss florets and stem coins with 1 tablespoon oil, 1/4 teaspoon salt, and a pinch of Kashmiri chilli if using. Spread in one layer on a sheet pan.
Roast 12 to 14 minutes until the tips are browned and a stem piece is tender with a snap. Do not wait for the florets to collapse.
Air fryer option: 400°F / 200°C for 8 to 10 minutes, shaking once. Pan-char option: heat 1 tablespoon oil in a wide skillet over medium-high. Cook the broccoli in one layer 6 to 8 minutes, flipping once, until browned in spots.
Soak and simmer the base
Soak the cashews in 1/4 cup hot water for 15 minutes while the broccoli roasts.
Heat 1 tablespoon oil and 1 tablespoon butter in the pan over medium heat. Add sliced onion if using. Cook 4 to 5 minutes until soft and lightly gold.
Add grated ginger and minced garlic. Stir 30 seconds until the raw smell fades.
Add tomatoes, turmeric, Kashmiri chilli, coriander, cumin, and a pinch of salt. Cook 6 to 8 minutes until the tomatoes break down and the oil starts to separate at the edges.
Add 1/2 cup water. Simmer 3 to 4 minutes. Cool 5 minutes.
Blend
Blend the tomato mixture with the soaked cashews (and their water) until completely smooth. Scrape the sides once. The paste should look silky, not grainy.
Finish the makhani
Wipe the pan if needed. Melt 1 tablespoon butter over medium-low heat. Pour in the blended gravy.
Add 1/2 cup warm water. Simmer 5 to 7 minutes, stirring, until the gravy thickens enough to coat a spoon. Add more water if it is too tight. Taste for salt and add sugar if the tomatoes taste sharp.
Stir in cream, crushed kasuri methi, and garam masala. Simmer 1 minute on low. Do not boil hard after the cream goes in.
Add the roasted broccoli. Fold gently 2 minutes so the florets warm through and pick up gravy. Turn off the heat. Swirl a teaspoon of butter or cream on top.
Garnish with cream, cilantro if you like, and a pinch of kasuri methi. Serve hot with naan, roti, or jeera rice.
Notes
Roast until the tips brown and the stems still snap. Pale florets taste steamed. Black tips taste bitter.Do not simmer the broccoli in the gravy for more than 2 to 3 minutes or the color and snap go.Soak cashews in hot water so the gravy blends smooth. Cold water needs a longer soak.Onion is optional. Skip it for a cleaner tomato makhani, or keep it for a slightly thicker body.For a vegan version, use oil instead of butter and finish with coconut cream or blended cashew cream.Gravy keeps in the fridge 3 to 4 days. Freeze the gravy without broccoli for up to 1 month. Roast fresh florets when you reheat.Frozen broccoli works if you roast it from frozen at 425°F / 220°C for 16 to 18 minutes so extra moisture cooks off. Still limit the gravy simmer to 2 minutes.