
This simple Vegetarian Butter Chicken makes a cozy weeknight dinner. The creamy sauce is flavorful but not spicy, making it a crowd-pleasing main that the whole family can enjoy. Leftovers keep well in the fridge or freezer, so it's also perfect for meal prep!
In this recipe, oven-baked tofu is the tasty and protein-packed chicken substitute. The silky sauce is made with only a few spices, tomatoes, and a bit of cream and butter (although much less than your favorite takeout option!). The combination is bursting with flavor. Serve with rice and naan for a delicious Indian-inspired meal.
Jump to:
Why you'll love this recipe
- Easy to make: No need to blend the sauce (saves on dishes!). And, no fussy tofu prep required (no need to press the tofu!).
- Minimal spices: There's no need to hunt down hard-to-find ingredients. You may already have everything on hand—and if not, they can be easily found at pretty much every grocery store.
- Vegetarian, not vegan (no coconut!): If you're okay with a bit of dairy, then make our vegetarian butter chicken. Most vegan recipes use coconut milk, which adds a strong coconut flavor that's not typical in a butter chicken curry. Our recipe will remind you of your favorite takeout—minus the chicken!
- Crowd pleasing: Butter chicken is popular for a reason! The creamy, mildly spiced sauce is a hit at the dinner table. Especially when served with rice and naan.

Ingredients (and substitutes)

- Extra-firm tofu: Extra-firm tofu will hold its shape in the creamy sauce—especially after baking in the oven. In this recipe, tearing the tofu into bite-size pieces makes it look like chicken coated in sauce!
- Cream: Adds the creaminess that everyone loves in butter chicken! In this recipe, we lighten things up by using both cream and water. It makes for a creamy and delicious sauce, without being overly heavy.
- Garam Masala: An Indian spice blend that you can buy pre-mixed at the grocery store or make yourself.
- Passata: Typically sold in tall glass jars with a screw top lid. It's made from strained uncooked tomatoes. If you can't find any, use canned crushed tomatoes (or blend canned whole peeled tomatoes until smooth).
Want more tofu recipes? Check out our Crispy Breaded Air Fryer Tofu, Sweet Chili Tofu Bowls, Crispy Tofu Sticks with Honey Mustard, and Spring Roll Salad with Peanut Glazed Tofu recipes.

How to make (step-by-step photos)
This Vegetarian Butter Chicken recipe starts by seasoning the tofu (directly in the pan, to save dishes!). Then, while the tofu bakes in the oven, you cook the sauce. Here are photos of what each step looks like:






Find the recipe card below for the complete recipe, including all ingredients and instructions.
Love Indian spices? Check out our Curry Lentil Salad, Curry Apple Salad with Spiced Chickpeas, and Curry Chickpea Salad Pitas with Apple Slaw recipes.
Recipe video
Watch us make this recipe!

Frequently asked questions
Quickly grating the yellow onion—on the large holes of a box grater—will allow the onion to brown quickly and meld into the sauce. This recipe does not call for blending the sauce after cooking. So, it's important to use grated onion (vs. diced) if you want a smooth sauce in the end.
Instead of passata, you can use an equal amount of canned crushed tomatoes (not tomato paste or tomato sauce). Or, an equal amount of canned diced tomatoes that have been blended until smooth, using a blender.
Yes, this recipe freezes well! Freeze in freezer bags or an airtight freezer-safe container. Let defrost in the fridge overnight. Reheat in a covered pot over low heat.

Love this recipe? Please leave a 5-star 🌟🌟🌟🌟🌟 review below!
📖 Recipe
Vegetarian Butter Chicken
Ingredients
- 12 oz extra-firm tofu
- 4 tablespoons butter, divided
- 4 teaspoons garam masala, divided
- 2 teaspoons cumin, divided
- 1 medium yellow onion, grated (using large holes on box grater, ½ cup tightly packed)
- 4 cloves garlic, finely grated (see note 1)
- 1 tablespoon finely grated fresh ginger (see note 1)
- 1 teaspoon ground turmeric
- 1½ cup passata (see note 2)
- 1 cup water
- ¾ cup whipping cream
- 1 tablespoon granulated sugar (see note 3)
- 1 teaspoon fine sea salt
Instructions
- Prep tofu: Pre-heat oven to 425°F (220°C). Tear tofu into bite-sized pieces. Melt 1 tablespoon of the butter in a large saute pan (see note 4) over medium heat. Add 1 teaspoon of the garam masala and 1 teaspoon of the cumin into the melted butter. Scatter in tofu and gently toss to coat. Spread tofu on a parchment-lined baking sheet. Bake until golden brown, 20 to 25 minutes.
- Cook aromatics: Meanwhile, in the same saute pan (no need to wipe clean), melt the remaining 3 tablespoons butter over medium heat. Add onion and cook, stirring occasionally, until golden and soft, 3 to 5 minutes. Add garlic, ginger, remaining 3 teaspoons garam masala, remaining 1 teaspoon cumin, and turmeric. Cook, stirring continuously, until fragrant, about 1 minute.
- Simmer: Reduce heat to medium-low. Add passata, water, cream, sugar, and salt. Stir to mix. Cover pan with a lid and simmer for 15 minutes for flavors to meld, stirring occasionally.
- Combine: Add baked tofu to the curry. Stir to mix. Simmer uncovered for 5 to 10 minutes, stirring occasionally. Serve hot (see note 5).
Notes
- Garlic & ginger: Finely grated garlic and ginger will release their flavor quickly and meld seamlessly into the sauce. Use a microplane (fine rasp) if you have one, otherwise a garlic press. Alternatively, just finely mince it as small as possible.
- Passata ("strained tomatoes"): Passata is made from strained uncooked tomatoes. It is usually packaged in tall glass jars. If you need to substitute, use crushed tomatoes (not tomato paste or tomato sauce).
- Sugar: Granulated or cane sugar. The sugar helps balance the acidity in the tomatoes. (We tested this recipe both with and without sugar—and found the tiny bit of sugar does improve the overall flavor, although minor).
- Saute pan: The tofu and sauce will be cooked in the same pan (to save on dishes). Use a large saute pan or skillet with a lid. If you don't have a lid, you can cover with a baking sheet.
- Serving suggestions: Serve with steamed rice and/or naan if you'd like! You can garnish with cilantro, green onion, or leave as is.
- Storage & reheating tips: Store in a sealed container and refrigerate for up to 3-4 days. Reheat on a covered pot, over low heat. Can be frozen for up to 3 months.
Maryann says
Thank you so much for this recipe. Absolutely delicious. My daughter is dairy free so I replaced the butter and cream with a substitute and it works beautifully.
bri says
Thanks for sharing those substitutes Maryann! Glad you and your daughter enjoyed this recipe:) Have a great rest of your week!
Nicole says
First time using passata. I always thought it was like tomato juice when seeing it before in the grocery store. Good flavor.
bri says
Hi Nicole - Haha that's too funny about the tomato juice. Glad you enjoyed passata! Thanks so much for sharing!
Liz says
OMG. So good. I just made this for dinner tonight and even my meat-loving husband was impressed!
bri says
Yay, mission accomplished! Glad this dish was a hit! Thanks so much for sharing, Liz!
Kayla says
We're doing "Meatless Mondays" in our household and this recipe was what I made tonight. Really tasty and family friendly.
bri says
Hi Kayla! Glad to hear your family enjoyed this veggie butter "chicken" recipe. Thank you so much for sharing!
Dennis says
Wowweee. This recipe is so good! Made it for dinner tonight and we both went back for seconds. Will be making this again for sure.
bri says
Hi Dennis! So happy to hear you enjoyed this Vegetarian Butter Chicken recipe. Thanks for taking the time to write in, we really appreciate the feedback!