Love this? Save it for later!
Share the inspiration with your friends
I was standing in my kitchen, staring at a block of tofu that had been sitting in the fridge for three days. Honestly, I bought it with good intentions—visions of stir-fries and grain bowls dancing in my head. But life got busy, and there it sat, wrapped in plastic, judging me. The farmer’s market haul from the weekend was starting to wilt too. A zucchini was going soft at the ends, and a pint of cherry tomatoes looked a little too sad to eat raw.
That’s when the idea hit me. Not a stir-fry, not a scramble, but something I hadn’t tried before. I remembered a friend mentioning how she pressed her tofu overnight and then grilled it until it had those perfect char marks. I had a gas grill out back, but honestly, my cast iron skillet would work just fine too. So I cubed the tofu, tossed it in a quick marinade made from stuff already in my pantry, and skewered it alongside those tomatoes and zucchini slices.
Twenty minutes later, I was pulling the most colorful skewers off the heat. The tofu had soaked up all that savory, slightly smoky flavor. The tomatoes had blistered and burst, releasing little pockets of sweetness. And the zucchini? It was tender with those beautiful grill marks. I ate three skewers standing at the counter, no plate, just dipping them into a quick yogurt sauce I whipped up. That accidental dinner turned into my go-to summer meal. These Best Flavor-Packed Tofu, Tomato, and Zucchini Kebabs are the kind of recipe that makes you feel like you cheated the system—minimal effort, maximum reward.
Why You’ll Love This Recipe
I have tested this recipe more times than I care to admit. The first batch was good. The second was better. By the fifth try, I had it down to a science. Here is why these kebabs keep showing up on my weekly menu:
- Quick & Easy : From start to finish, these come together in about 30 minutes. Most of that time is just letting the tofu marinate while you prep the veggies.
- Simple Ingredients : You probably have the marinade ingredients in your pantry right now. Soy sauce, olive oil, garlic, and a touch of maple syrup—that is it.
- Perfect for Summer Grilling : Whether you are hosting a backyard BBQ or just cooking for yourself, these skewers fit right in. They are great alongside some crispy smashed potato salad for a complete meal.
- Crowd-Pleaser : I have served these to die-hard meat eaters who were skeptical about tofu. Every single person went back for seconds. The trick is all in the marinade and the high heat.
- Unbelievably Delicious : The contrast between the crispy-edged tofu, the juicy burst tomatoes, and the tender zucchini is textural perfection. Each bite hits differently.
What makes this recipe different from the dozens of other kebab recipes out there? It is the marinade technique. Instead of just brushing the skewers with oil, you let the tofu sit in a bold, savory bath for at least 15 minutes. That little extra step transforms bland tofu into flavor-packed bites that hold their own against any meat skewer. Plus, the high-heat cooking method gives everything a slight char without drying out the veggies.
This is the kind of recipe that makes you close your eyes after the first bite. It is comfort food reimagined—plant-based, fast, and deeply satisfying. Perfect for impressing guests without breaking a sweat, or turning a simple Tuesday dinner into something you actually look forward to.
What Ingredients You Will Need
This recipe uses simple, wholesome ingredients that work together to create bold flavor and satisfying texture. Most of these are pantry staples or easy to find at any grocery store.
For the Tofu Marinade
- 14 oz extra-firm tofu (pressed and drained) – I recommend Nasoya or House Foods brand for best texture. Look for vacuum-packed tofu, not the water-packed tubs, if you can find it.
- 3 tablespoons soy sauce (or tamari for gluten-free) – This is the backbone of the marinade. It adds saltiness and umami that seeps deep into the tofu.
- 2 tablespoons olive oil – Helps the tofu brown and keeps it from sticking to the grill or pan.
- 1 tablespoon maple syrup – Just a touch of sweetness balances the salt and helps with caramelization.
- 2 cloves garlic, minced – Fresh garlic is non-negotiable here. The jarred stuff just does not hit the same.
- 1 teaspoon smoked paprika – Adds that subtle smoky flavor that makes these taste like they spent hours on the grill.
- ½ teaspoon black pepper – Freshly ground is best.
- 1 tablespoon rice vinegar – A little acidity brightens everything up. Apple cider vinegar works in a pinch.
For the Vegetables

- 1 medium zucchini (about 8 oz) – Look for firm, medium-sized zucchini. The really big ones can be watery and seedy.
- 1 pint cherry tomatoes – Use a mix of colors if you want it to look extra pretty. Red, yellow, and orange all work great.
- ½ red onion (optional, but recommended) – Cut into chunks that are roughly the same size as the tofu cubes for even cooking.
For Serving (Optional but Highly Recommended)
- Fresh lemon wedges – A squeeze right before eating brightens everything.
- Fresh herbs – Chopped parsley, basil, or mint add a fresh finish.
- Yogurt dipping sauce – Mix ½ cup plain Greek yogurt with 1 tablespoon lemon juice, a pinch of salt, and some chopped dill. So good.
Equipment Needed
You do not need any fancy gadgets to make these kebabs. Here is what you will need:
- Skewers : If using wooden skewers, soak them in water for at least 30 minutes before grilling. This prevents them from burning. Metal skewers work great too and are reusable.
- Large mixing bowl – For the marinade and tossing the tofu.
- Cutting board and sharp knife – A good chef’s knife makes cubing tofu and slicing veggies a breeze.
- Grill or cast iron skillet – An outdoor grill gives you that smoky flavor, but a cast iron grill pan or even a regular skillet works beautifully. I have used both and honestly prefer the cast iron for the even heat distribution.
- Tongs – For flipping the skewers without burning your fingers.
- Tofu press or heavy books – You can buy a tofu press (I love my TofuBud), but wrapping the block in a clean kitchen towel and placing a heavy cast iron skillet on top works just as well.
Preparation Method
Follow these steps carefully, and you will end up with perfectly charred, flavor-packed kebabs every single time.
- Press the tofu (20-30 minutes, mostly hands-off). Remove the tofu from its package and drain the liquid. Wrap the block in a clean kitchen towel or paper towels. Place it on a plate, then put something heavy on top—a cast iron skillet, a stack of books, or a dedicated tofu press. Let it sit for at least 20 minutes. This step is not optional. Pressing removes excess water so the tofu can soak up the marinade instead of just pushing it away. You will notice the towel gets damp—that is good.
- Make the marinade. While the tofu presses, whisk together the soy sauce, olive oil, maple syrup, minced garlic, smoked paprika, black pepper, and rice vinegar in a large bowl. Taste it. It should be salty, slightly sweet, and a little tangy. Adjust if needed—add more maple syrup if you like it sweeter, or more vinegar for brightness.
- Cube the tofu. Once pressed, cut the tofu block into 1-inch cubes. Aim for uniform sizes so they cook evenly. Toss the cubes into the bowl with the marinade. Gently stir to coat every piece. Let it sit for at least 15 minutes, stirring once halfway through. If you have time, let it marinate for 30 minutes—the flavor gets even deeper.
- Prep the vegetables. While the tofu marinates, slice the zucchini into ½-inch thick rounds. Cut any large rounds in half so they are roughly the same size as the tofu cubes. Keep the cherry tomatoes whole—they hold up better on the skewer. If using red onion, cut it into 1-inch chunks and separate the layers.
- Assemble the skewers. Thread the ingredients onto the skewers in a repeating pattern: tofu, zucchini, tomato, onion (if using). Leave a small gap between each piece so the heat can circulate and char everything evenly. Do not overcrowd the skewers. I usually get about 4-5 full skewers from this recipe.
- Preheat your cooking surface. If using a grill, preheat it to medium-high heat (about 400°F). If using a cast iron skillet, heat it over medium-high heat for 3-4 minutes until it is smoking hot. Brush the grates or pan lightly with oil to prevent sticking.
- Grill the kebabs. Place the skewers on the hot grill or pan. Let them cook undisturbed for 3-4 minutes. You want a nice sear. Then flip them using tongs. Cook for another 3-4 minutes on the other side. The tomatoes should be blistered and starting to burst, the zucchini should have nice grill marks, and the tofu should be golden brown with crispy edges. Total cook time is about 8-10 minutes.
- Rest and serve. Transfer the skewers to a serving platter. Let them rest for 2 minutes. Squeeze fresh lemon juice over the top and sprinkle with fresh herbs if using. Serve hot or at room temperature.
Cooking Tips & Techniques
I learned most of these tips the hard way—by making mistakes in my own kitchen. Here is what I wish someone had told me:
Do not skip pressing the tofu. The first time I made these, I was impatient and only pressed the tofu for 5 minutes. The result was bland, watery tofu that fell apart on the grill. Pressing for a full 20 minutes makes a world of difference. The tofu firms up and actually gets crispy edges instead of steaming.
Cut everything the same size. This is one of those little details that separates good kebabs from great ones. If your zucchini slices are thicker than your tofu cubes, they will be undercooked while the tofu burns. Take the extra 30 seconds to make everything uniform.
Oil the grill, not the food. If you brush oil directly onto the skewers, it can drip and cause flare-ups on a gas grill. Instead, oil the grill grates using a paper towel dipped in oil and held with tongs. This gives you those beautiful char marks without the fire hazard.
Let the skewers rest. I know it is tempting to dig in right away, but letting them rest for a couple of minutes allows the juices to redistribute. The tomatoes will be less likely to burn your mouth, and the tofu will hold its shape better when you slide it off the skewer.
Use two skewers per kebab. If you are using wooden skewers, threading ingredients onto two parallel skewers instead of one makes flipping much easier. The food stays in place and does not spin around when you try to turn it.
Variations & Adaptations
One of the best things about this recipe is how flexible it is. Here are some ways to switch it up:
- Make it gluten-free : Swap the soy sauce for tamari or coconut aminos. Everything else is naturally gluten-free.
- Change the protein : Not a tofu fan? Use halloumi cheese instead. It holds up beautifully on the grill and gets that same crispy exterior. Or try cubes of firm tempeh for a different plant-based option.
- Switch the veggies : Bell peppers, red onion wedges, mushrooms, and eggplant all work great. Just keep the pieces similar in size so they cook evenly. In the fall, I love using butternut squash cubes (pre-roast them first) alongside the tofu.
- Try a different marinade : This recipe uses a savory-sweet marinade, but you can easily go in a different direction. Use a store-bought teriyaki sauce, a lemon-herb vinaigrette, or even a spicy harissa paste mixed with olive oil.
- Oven-roasted version : No grill? No problem. Arrange the assembled skewers on a baking sheet lined with parchment paper. Roast at 425°F for 15-18 minutes, flipping halfway through. The texture will be slightly different—less charred, more roasted—but still delicious.
- Air fryer option : Place the skewers in the air fryer basket (you may need to cut them in half to fit). Cook at 375°F for 10-12 minutes, flipping once. This gives you the crispiest tofu edges.
Serving & Storage Suggestions
These kebabs are incredibly versatile when it comes to serving. Here is how I like to enjoy them:
Serving temperature : They are fantastic hot off the grill, but I actually love them at room temperature too. If I am hosting a summer gathering, I often make them ahead and serve them on a platter with a dipping sauce. They hold up beautifully for about an hour at room temperature.
What to serve with them : These skewers pair wonderfully with a light grain salad, like quinoa with lemon and herbs. They are also perfect alongside a creamy bacon ranch pasta salad for a heartier meal. For a lighter option, serve them over a bed of arugula with a simple vinaigrette. A side of easy homemade salsa and star chips makes a fun starter before the kebabs.
Storage : Remove the tofu and veggies from the skewers and store them in an airtight container in the refrigerator for up to 3 days. The texture will soften slightly, but the flavor actually gets better as it sits.
Reheating : The best way to reheat these is in a hot skillet over medium heat for 2-3 minutes per side. You can also use the air fryer at 350°F for 3-4 minutes. Avoid the microwave—it makes the tofu rubbery and the veggies mushy.
Meal prep tip : You can assemble the skewers up to 24 hours in advance. Just keep them covered in the fridge. When you are ready to cook, let them sit at room temperature for 10 minutes before grilling. This helps them cook more evenly.
Nutritional Information & Benefits
Here is the estimated nutritional breakdown for one serving (about 2 skewers, without dipping sauce):
- Calories : 185
- Protein : 14g
- Fat : 9g
- Carbohydrates : 14g
- Fiber : 3g
- Sugar : 8g
- Sodium : 520mg
These kebabs are naturally plant-based and packed with nutrition. Tofu is an excellent source of complete protein and contains all nine essential amino acids. It is also rich in iron and calcium. Zucchini is low in calories but high in vitamin C and antioxidants. Cherry tomatoes provide lycopene, a powerful antioxidant linked to heart health. This recipe is also dairy-free, egg-free, and can easily be made gluten-free. The only potential allergen is soy from the tofu, but you can swap it with chickpea-based tofu or halloumi if needed.
From a personal wellness perspective, I love that this meal feels indulgent—all those charred, smoky flavors—but is actually incredibly healthy. It is the kind of dinner that leaves you feeling satisfied but not heavy.
Conclusion
These Best Flavor-Packed Tofu, Tomato, and Zucchini Kebabs have become a staple in my kitchen for good reason. They are quick, forgiving, and packed with so much flavor that even tofu skeptics become converts. The marinade does all the heavy lifting, and the high heat does the rest. Whether you grill them outside or cook them in a skillet, you end up with a meal that feels special without requiring hours of effort.
I encourage you to make these your own. Swap in your favorite veggies, adjust the marinade to your taste, or double the batch for a crowd. They are perfect for summer cookouts, quick weeknight dinners, or even meal prep for the week ahead. If you try them, let me know how they turn out. Drop a comment below or tag me in your photos—I love seeing your creations. And if you are looking for another quick summer dish, try these alongside a patriotic red white blue caprese salad for a colorful spread.
Happy grilling, friends. You have got this.
Frequently Asked Questions
Can I use soft or silken tofu for this recipe?
No, I do not recommend it. Soft or silken tofu has too much moisture and will fall apart on the grill. Stick with extra-firm or super-firm tofu for the best results. If you can only find firm tofu, press it for an extra 10 minutes to remove as much water as possible.
How do I prevent the wooden skewers from burning?
Soak wooden skewers in water for at least 30 minutes before threading the ingredients. This keeps them from catching fire on the grill. Alternatively, use metal skewers—they are reusable and do not require soaking.
Can I make these kebabs ahead of time for a party?
Absolutely. You can assemble the skewers up to 24 hours in advance and keep them covered in the refrigerator. When you are ready to serve, just grill them as directed. They are also delicious served at room temperature, so you can cook them an hour before guests arrive.
What can I use instead of maple syrup in the marinade?
Any liquid sweetener works here. Agave nectar, honey (if not strictly vegan), or brown sugar dissolved in a tablespoon of warm water are all great substitutes. The sweetness helps with caramelization, so do not skip it entirely.
How do I know when the tofu is cooked through?
Tofu is technically safe to eat raw, so you are really cooking for texture and flavor. You will know it is done when the edges are golden brown and slightly crispy, and the surface has visible char marks. The inside should be hot all the way through. This usually takes about 8-10 minutes over medium-high heat.
Pin This Recipe!

Best Flavor-Packed Tofu, Tomato, and Zucchini Kebabs
These quick and easy tofu kebabs are marinated in a savory-sweet sauce, then grilled to perfection with cherry tomatoes and zucchini. A crowd-pleasing plant-based meal that’s perfect for summer cookouts or weeknight dinners.
- Prep Time: 15 minutes
- Cook Time: 10 minutes
- Total Time: 25 minutes
- Yield: 4 servings 1x
- Category: Main Course
- Cuisine: American
Ingredients
- 14 oz extra-firm tofu, pressed and drained
- 3 tablespoons soy sauce (or tamari for gluten-free)
- 2 tablespoons olive oil
- 1 tablespoon maple syrup
- 2 cloves garlic, minced
- 1 teaspoon smoked paprika
- ½ teaspoon black pepper, freshly ground
- 1 tablespoon rice vinegar
- 1 medium zucchini (about 8 oz), sliced into ½-inch rounds
- 1 pint cherry tomatoes
- ½ red onion, cut into 1-inch chunks (optional)
- Fresh lemon wedges (for serving)
- Fresh herbs, chopped (parsley, basil, or mint, for serving)
- Yogurt dipping sauce: ½ cup plain Greek yogurt, 1 tablespoon lemon juice, pinch of salt, chopped dill (optional)
Instructions
- Press the tofu: Remove tofu from package and drain. Wrap in a clean kitchen towel or paper towels, place on a plate, and put something heavy on top (e.g., cast iron skillet). Let sit for at least 20 minutes.
- Make the marinade: In a large bowl, whisk together soy sauce, olive oil, maple syrup, minced garlic, smoked paprika, black pepper, and rice vinegar. Taste and adjust if needed.
- Cube the tofu: Cut pressed tofu into 1-inch cubes. Add to the bowl with marinade and gently stir to coat. Let marinate for at least 15 minutes, stirring once halfway through.
- Prep the vegetables: Slice zucchini into ½-inch rounds (cut large rounds in half). Keep cherry tomatoes whole. Cut red onion into 1-inch chunks and separate layers.
- Assemble the skewers: Thread ingredients onto skewers in a repeating pattern: tofu, zucchini, tomato, onion (if using). Leave small gaps between pieces. Use two parallel skewers per kebab for easier flipping.
- Preheat cooking surface: Preheat grill to medium-high heat (about 400°F) or heat a cast iron skillet over medium-high heat for 3-4 minutes. Lightly oil the grates or pan.
- Grill the kebabs: Place skewers on hot grill or pan. Cook undisturbed for 3-4 minutes, then flip. Cook another 3-4 minutes until tomatoes are blistered, zucchini has grill marks, and tofu is golden brown with crispy edges (total 8-10 minutes).
- Rest and serve: Transfer skewers to a platter, let rest 2 minutes. Squeeze fresh lemon juice over top and sprinkle with fresh herbs. Serve hot or at room temperature.
Notes
Do not skip pressing the tofu for at least 20 minutes to remove excess water. Cut all ingredients to uniform size for even cooking. Oil the grill grates, not the food, to prevent flare-ups. Let skewers rest for 2 minutes before serving. For oven-roasted version, bake at 425°F for 15-18 minutes, flipping halfway. For air fryer, cook at 375°F for 10-12 minutes, flipping once.
Nutrition
- Serving Size: 2 skewers
- Calories: 185
- Sugar: 8
- Sodium: 520
- Fat: 9
- Saturated Fat: 1.5
- Carbohydrates: 14
- Fiber: 3
- Protein: 14
Keywords: tofu kebabs, grilled tofu, vegetable skewers, summer grilling, plant-based, vegan, gluten-free option



