There is something almost magical about sage leaves meeting hot butter in a pan. They crackle, they curl, and then they release a fragrance that smells like the Italian countryside compressed into thirty seconds. Now imagine that same alchemy applied to thick tofu steaks in an air fryer — the sage leaves pressed directly onto the surface, crisping into edible armor while the tofu beneath turns golden and firm with a satisfying crunch. Top those steaks with a blanket of melted fresh mozzarella, nestle them over zucchini noodles tossed in garlicky sage brown butter, and finish with a blizzard of shaved Parmesan. This is weeknight Italian cooking at its most indulgent.
Every serving delivers roughly 47 grams of fat, 30 grams of protein, and just 7 grams of net carbs — a textbook ketogenic ratio where fat accounts for nearly 75% of the calories. The brown butter does the heavy lifting here, contributing rich, nutty depth without a single gram of carbohydrate, while the mozzarella and Parmesan layer on both fat and protein. It is the kind of macro profile that keeps you satiated well past dinner.
Traditional saltimbocca relies on prosciutto to wrap sage against the protein, but the air fryer makes that unnecessary. The high-velocity hot air fuses the sage leaves directly onto the olive-oil-brushed tofu, creating the same aromatic crust without any meat. From pressing the tofu to plating, this entire dinner comes together in about thirty minutes — most of it hands-off while the air fryer does the work.
Ingredients (serves 2)
For the tofu saltimbocca:
- 14 oz (400g) extra-firm tofu, drained
- 1 1/2 tbsp (22ml) extra-virgin olive oil
- 8–10 large fresh sage leaves
- 1/2 tsp garlic powder
- 1/4 tsp fine sea salt
- 1/4 tsp freshly ground black pepper
- 3 oz (85g) fresh mozzarella, sliced into 4 rounds
For the sage brown butter zoodles:
- 2 1/2 tbsp (35g) unsalted butter
- 6–8 fresh sage leaves
- 3 cloves garlic, thinly sliced
- 1 medium zucchini (about 200g), spiralized or julienned
- 1 oz (28g) Parmesan cheese, freshly shaved
- Pinch of red pepper flakes (optional)
Instructions
Press the tofu. Wrap the block of tofu in a clean kitchen towel or several layers of paper towel. Place a heavy cutting board or cast-iron skillet on top and let it press for at least 15 minutes. You want to squeeze out as much moisture as possible — drier tofu means crispier results in the air fryer. If you own a tofu press, use that instead.
Slice and season. Cut the pressed tofu crosswise into 4 even steaks, each about 3/4 inch (2cm) thick. Brush all sides generously with the olive oil. Season with garlic powder, salt, and pepper on both sides.
Attach the sage leaves. Press 2–3 fresh sage leaves firmly onto the top of each tofu steak. The olive oil acts as the glue. Press them flat so they make full contact with the surface — this is what gives saltimbocca its signature look and flavor.
Air fry the steaks. Preheat your air fryer to 400°F (200°C) for 3 minutes. Place the tofu steaks sage-side up in a single layer in the basket, leaving space between each one for airflow. Air fry for 8 minutes, then carefully flip using a thin spatula so the sage side is now face-down. Cook for another 5–6 minutes until both sides are golden and the edges are firm and lightly crisp.
Melt the mozzarella. Flip the steaks sage-side up again. Place a round of fresh mozzarella on top of each steak. Air fry for 2 more minutes at 400°F (200°C) until the cheese is soft, melted, and just starting to bubble around the edges. Remove the basket and set the steaks aside.
Make the sage brown butter. While the tofu air fries, melt the butter in a small skillet over medium heat. Once it foams and the milk solids begin to turn golden — about 2–3 minutes — add the sage leaves. Let them sizzle for 30 seconds until crispy and fragrant, then add the sliced garlic. Cook for another 30–45 seconds, stirring constantly, until the garlic is just golden. Do not let it go past light gold or it turns bitter. Remove the skillet from heat immediately.
Toss the zoodles. Add the spiralized zucchini directly into the skillet with the sage brown butter. Toss with tongs for 60–90 seconds over low heat, just enough to barely soften the noodles while coating them in the butter. You want them warm but still slightly firm — overcooked zucchini noodles release water and turn limp.
Plate and serve. Divide the sage brown butter zoodles between two plates. Set two tofu saltimbocca steaks on top of each bed of noodles. Drizzle any remaining brown butter from the skillet over everything. Scatter the shaved Parmesan generously on top, add the crispy sage leaves from the butter as garnish, and finish with a pinch of red pepper flakes if you like a little heat. Serve immediately.
Nutrition per Serving
| Nutrient | Amount |
|---|---|
| Calories | ~575 kcal |
| Fat | ~47g |
| Protein | ~30g |
| Total Carbs | ~9g |
| Fiber | ~2g |
| Net Carbs | ~7g |
Nutrition is approximate and based on the stated ingredients. Values may vary based on specific brands and tofu water content.
Tips & Variations
Press longer for maximum crunch. If you have the time, press your tofu for 30 minutes instead of 15, or even overnight in the refrigerator under a weighted plate. The drier the tofu, the more effectively it crisps in the air fryer. Some keto cooks also freeze and thaw their tofu first — this changes the internal structure and creates an almost chewy, more absorbent texture that browns beautifully.
Use the right mozzarella. Fresh mozzarella in a ball (the kind packed in water) melts into a soft, creamy blanket. Pre-shredded low-moisture mozzarella will also work and melts more uniformly, but it lacks the delicate milkiness that makes this dish special. If you have access to burrata, use a torn piece on each steak right after they come out of the air fryer — the residual heat melts the creamy center perfectly.
Watch the brown butter closely. The window between brown butter and burnt butter is narrow, roughly 15–20 seconds. The moment the milk solids look toasty-golden and the butter smells nutty, add the sage and pull from heat. If the butter does go too dark, start over — burnt butter is genuinely bitter and will ruin the dish. The entire process takes under 4 minutes.
Keep net carbs even lower. The zucchini noodles contribute about 2 grams of net carbs per serving. If you are tracking strictly, you can substitute them with hearts of palm noodles (about 1g net carbs per serving) or skip the noodle base entirely and serve the tofu steaks on a bed of fresh arugula dressed with a squeeze of lemon — it adds peppery contrast and almost zero carbs.
Store and reheat with care. The tofu steaks keep refrigerated in an airtight container for up to 3 days. Reheat them in the air fryer at 375°F (190°C) for 4–5 minutes to restore the crispness. The sage brown butter can be made ahead and rewarmed gently in a small pan. However, spiralize the zucchini fresh — pre-made zoodles release water and lose their texture overnight.