Imagine biting into a thick tofu steak with a shattering golden crust seasoned with rosemary, oregano, and garlic — the kind of crust you usually only get from deep frying — perched on a tangle of cool, vibrant zucchini noodles drenched in a rich walnut-basil pesto. This is Tuscan comfort food reimagined for the air fryer: bold Italian flavors, incredible textures, and the kind of satisfying dinner that makes you forget you are eating anything "diet-friendly." Every bite delivers that contrast of hot, crispy tofu against silky, herbaceous zoodles that is downright addictive.

With 42 grams of fat and only 7 grams of net carbs per generous serving, this dish hits keto macros with ease. The fat comes from heart-healthy sources — extra-virgin olive oil, walnuts, and the natural fats in firm tofu — while the protein clocks in at a solid 22 grams. There is no dairy, no eggs, and no animal products of any kind, making this a genuinely satisfying vegan keto dinner that keeps you in ketosis without compromise.

The entire meal comes together in under 30 minutes, with the air fryer doing most of the heavy lifting. While the tofu crisps up hands-free, you can whirl the pesto together and spiralize the zucchini — everything finishes at the same time. It is a weeknight winner that feels like a weekend treat, and the leftovers reheat beautifully for lunch the next day.

Ingredients (serves 2)

For the Tuscan tofu steaks:

  • 14 oz (400g) extra-firm tofu, drained and pressed
  • 3 tablespoons (25g) almond flour
  • 1 tablespoon (5g) nutritional yeast
  • 1 teaspoon dried Italian seasoning (oregano, rosemary, thyme, basil blend)
  • 1/2 teaspoon garlic powder
  • 1/2 teaspoon onion powder
  • 1/4 teaspoon smoked paprika
  • 1/4 teaspoon fine sea salt
  • Pinch of freshly ground black pepper
  • 1 tablespoon (15ml) extra-virgin olive oil, for brushing

For the walnut-basil pesto:

  • 1/4 cup (30g) raw walnuts
  • 1 1/2 cups (30g) packed fresh basil leaves
  • 1 small clove garlic, roughly chopped
  • 2 tablespoons (10g) nutritional yeast
  • 3 tablespoons (45ml) extra-virgin olive oil
  • 1 tablespoon (15ml) fresh lemon juice
  • 1/4 teaspoon fine sea salt
  • Pinch of red pepper flakes (optional)

For the zoodles and assembly:

  • 1 medium zucchini (about 7 oz / 200g), spiralized
  • 4 sun-dried tomato halves (dry-packed), thinly sliced
  • Fresh basil leaves, for garnish
  • Flaky sea salt, for finishing

Instructions

  1. Press and slice the tofu. If you have not already pressed your tofu, wrap it in a clean kitchen towel and set a heavy skillet or cutting board on top for at least 10 minutes to remove excess moisture. Slice the block crosswise into 4 steaks, each roughly 3/4 inch (2cm) thick. Pat completely dry with paper towels — this is essential for achieving a crispy crust.

  2. Mix the Tuscan coating. In a shallow bowl or plate, combine the almond flour, nutritional yeast, Italian seasoning, garlic powder, onion powder, smoked paprika, salt, and pepper. Stir with a fork until evenly blended.

  3. Coat the tofu steaks. Brush both sides of each tofu steak lightly with olive oil. Press each steak firmly into the almond flour mixture, turning to coat both sides and the edges. Gently pat the coating so it adheres well. Shake off any excess.

  4. Preheat the air fryer. Set your air fryer to 400°F (200°C) and let it preheat for 3 minutes. This ensures the tofu hits a ripping-hot basket for maximum crispiness from the very first second.

  5. Air fry the tofu steaks. Arrange the coated tofu steaks in a single layer in the air fryer basket — do not overlap them. Air fry for 7 minutes, then carefully flip each steak using a thin spatula. Cook for an additional 6–7 minutes until the exterior is deeply golden brown and audibly crispy when tapped. The coating should look like a rustic Italian breadcrumb crust.

  6. Make the walnut-basil pesto. While the tofu cooks, add the walnuts, basil, garlic, nutritional yeast, olive oil, lemon juice, salt, and red pepper flakes to a food processor or high-speed blender. Pulse until you reach a slightly chunky, vibrant green pesto. Scrape down the sides as needed. Taste and adjust salt or lemon juice to your preference. If the pesto is too thick, add water one teaspoon at a time until it reaches a saucy consistency.

  7. Toss the zoodles. Place the spiralized zucchini in a large bowl. Add about three-quarters of the pesto and toss gently until every strand is coated. The zoodles are served raw here, which keeps them crisp and fresh — the contrast with the hot tofu is part of the magic. Scatter the sliced sun-dried tomatoes over the top.

  8. Plate and serve. Divide the pesto zoodles between two plates or shallow bowls, twirling them into a nest shape. Lean two crispy tofu steaks against each mound of zoodles. Dollop the remaining pesto on top of or alongside the tofu. Finish with a few torn basil leaves and a pinch of flaky sea salt. Serve immediately while the tofu is at its crispiest.

Nutrition per Serving

Nutrient Amount
Calories ~520 kcal
Fat ~42g
Protein ~22g
Total Carbs ~11g
Fiber ~4g
Net Carbs ~7g

Nutrition is approximate and calculated based on the specific ingredients and quantities listed. Variations in tofu brands and olive oil measurements may cause slight differences.

Tips & Variations

Press your tofu thoroughly for the crispiest results. The number one reason air fryer tofu turns out soggy is residual moisture. For the best crust, press for a full 15–20 minutes, or use a tofu press if you have one. You can even press the tofu the night before and refrigerate it uncovered — this dries the surface further and produces an almost shatteringly crispy exterior.

Swap walnuts for hemp seeds if you need a nut-free version. Replace the walnuts in the pesto with 3 tablespoons of hulled hemp seeds and increase the olive oil by one teaspoon. The pesto will be slightly thinner but equally rich and herbaceous. You will also want to replace the almond flour coating with an equal amount of finely ground sunflower seed meal.

Add more fat if your macros need it. If you are targeting higher fat intake, drizzle an extra tablespoon of olive oil over the finished dish or toss a quarter of a sliced avocado onto each plate. Both additions keep the flavor profile Italian and push the fat ratio above 75 percent of calories without adding significant carbs.

Watch for hidden carbs in sun-dried tomatoes. Some commercial sun-dried tomatoes are packed in sweetened oil or contain added sugars. Always check the label and choose dry-packed or those packed in plain olive oil with no sugar added. At the small quantity used here, they contribute only about 2 grams of net carbs total, but sweeter brands could push you over your target.

Store and reheat smartly. Keep leftover tofu steaks and pesto zoodles in separate airtight containers in the refrigerator for up to 3 days. Reheat the tofu steaks in the air fryer at 375°F (190°C) for 3–4 minutes to re-crisp them — the microwave will make the coating rubbery. Toss the zoodles with a splash of fresh lemon juice before serving to revive their brightness.

Frequently Asked Questions

Will this recipe kick me out of ketosis?
At just 7 grams of net carbs per serving, this dish fits comfortably within even a strict 20-gram daily net carb limit. The fat-to-carb ratio is strongly ketogenic, with roughly 73 percent of calories coming from fat. As long as your other meals for the day stay within your personal carb target, this dinner should keep you solidly in ketosis. If you want extra assurance, skip the sun-dried tomatoes to shave off another gram or two of net carbs.
Can I use a different nut in the pesto?
Absolutely. Pine nuts are the traditional Italian choice and work beautifully here — use the same quantity. Macadamia nuts are another excellent keto option that adds a buttery richness. Pecans or cashews will also work, though cashews are slightly higher in carbs so use them sparingly. For a completely nut-free pesto, hulled sunflower seeds or hemp hearts are your best bet and keep the recipe fully allergy-friendly.
How do I store and meal-prep this for the week?
The tofu steaks and pesto both store well individually. Coat and air fry a double or triple batch of tofu steaks, let them cool completely, and store in an airtight container in the fridge for up to 4 days. Make a large jar of pesto — it keeps for 5 days refrigerated with a thin layer of olive oil on top to prevent browning. Spiralize the zucchini fresh each day if possible, as pre-cut zoodles can release water and become limp. Reheat the tofu in the air fryer at 375°F (190°C) for 3–4 minutes to restore crispiness.
What if I want to make this lacto-vegetarian instead of vegan?
If you eat dairy, you can enhance the pesto by replacing the nutritional yeast with 2 tablespoons of finely grated Parmigiano-Reggiano for a more traditional Tuscan flavor. You could also crumble fresh buffalo mozzarella over the finished dish for added richness and fat. These additions will increase the calorie and fat content slightly while keeping net carbs essentially the same, since hard Italian cheeses are very low in carbohydrates.
My air fryer runs hot — how do I prevent the coating from burning?
If your air fryer tends to cook aggressively, reduce the temperature to 380°F (193°C) and add 1–2 minutes to each side of cooking time. You can also lightly mist the tofu steaks with olive oil spray halfway through cooking to help the coating brown evenly rather than char in spots. Avoid overcrowding the basket, as this creates uneven airflow and can cause some steaks to burn while others stay pale. Every air fryer model varies, so check the tofu at the 5-minute mark on the first side and adjust from there.