Why This Recipe Works
- Tofu creates a silky, egg-like base for the sauce, while miso and nutritional yeast give it a richer, eggy quality.
- King oyster mushrooms are meaty enough to stand in for pork, and mild enough to not make the whole dish taste like mushrooms.
- Sauerkraut brine adds the lactic tang of Pecorino Romano, while keeping the sauce 100% vegan.
So, when I started thinking of what might be a good, simple recipe to ease myself into developing some vegan recipes for my own version of Kenji's Vegan Experience, I did what any certifiably insane person would: I chose carbonara, a pasta sauce in which literally each major ingredient is the antithesis of vegan. Obviously, I'm a glutton for punishment.
After I'd given myself that near-impossible task, the road ahead of me was clear. No, not the road of quietly changing my mind and pretending carbonara had never crossed it. I had to figure out how to reproduce that eggy, creamy sauce; those porky bits of guanciale; and that sharp and spicy Pecorino Romano. The more I thought about it, the more I thought I was stupider than I'd ever realized. What the hell was I thinking?
Not one to back down easily, though, I considered each component, ate plenty of real carbonara to keep its flavor fresh in my mind, and came up with a game plan. After plenty of testing, I think I have something remarkable, something most people would consider impossible: a legitimate vegan carbonara.
Now for the disclaimer: I have created a version of the dish that obviously can't include a single primary ingredient in the original sauce. Making something vegan that tastes exactly like a true carbonara, using nothing but readily available ingredients, really isn't possible. But what I've done is capture the spirit of the dish. It has a sauce that's creamy and rich as if made with eggs, even though it's not. And it has little meaty bits throughout that do an admirable job of standing in for the pork. And yes, it even has the sharp, lactic tang and spiciness of pecorino. Would it fool a Roman? Almost definitely not. But my wife did come home one day, served herself some not knowing what it was, and then said, "Nice, I didn't know you were going to make carbonara." So, yeah, I think that counts for something.
If you're a vegan who hasn't had carbonara in a long time, this will absolutely scratch that itch. And even if you're not, this vegan version is so good, it could easily become a staple, making carbonara less of a rare indulgence and more of an everyday meal. (We don't usually dispense health advice on Serious Eats, but this is pretty much inarguably better for you than the original version.)
I'll break it down into its components.
This was by far the easiest substitution—all I needed was something that seemed meaty. I shied away from meat substitutes like wheat gluten, turning my attention to mushrooms instead. The key here, though, is that I didn't want the dish to take on a noticeable mushroom flavor, which was a likely result with most varieties of mushrooms out there. My best choice: king oyster mushrooms.
They're thick and meaty, but they're also mildly flavored, so they lend a substantial bite without infusing the dish with an earthy essence. On top of that, they have especially wide stems and small caps, making them perfectly suited for cutting up into strips, just like guanciale or pancetta. When the pasta is cooked, it looks like it's filled with bits of pork and not sliced mushroom caps.
In a pinch, if you can't find king oysters, I'd suggest oyster mushrooms instead. They'll cook up softer and more tender than king oysters, but they're similarly mild in flavor.
The mushrooms alone can't quite serve as a convincing pork substitute, though, and that's where smoked paprika comes in. Now, traditionally, carbonara is not made with a smoked pork product, like American bacon; it calls instead for cured pork, like pancetta or guanciale. But if there's one thing a smoky flavor can immediately evoke, it's meat, and we need that effect here. Combined with the texture of the king oyster mushrooms, the paprika adds a whiff of bacon-y smoke. Like two goofballs in one of those silly horse costumes, only by working together do they pull off the illusion.
The Eggy Sauce
I had a lot of ideas about how to create a creamy, egg-like sauce for this pasta, including using aquafaba (the liquid from a can of chickpeas) or some kind of starch or nut butter, but I ditched most of them pretty quickly as their limitations became evident.
It didn't take long for me to settle on silken tofu as the sauce's base, since it can be blended into a naturally creamy sauce all on its own. Thinned with liquid, it's a very convincing replacement for an egg sauce, and, since it's heat-stable, you don't have to worry about it breaking.
That got me the texture I wanted, but the flavor definitely needed help. A classic carbonara sauce is eggy, of course, which means it needs a kind of base richness beyond just the silky creaminess of tofu. And it's loaded with both black pepper and the rendered fat from the pork. There's also the critically important cheese, but I'll get to that below.
For that deep, subtle richness, I blended in a small amount of white miso along with a good dose of nutritional yeast, which I've always found to have a somewhat chicken-y flavor. Together, they turn the tofu into something far more eggy.
On top of that, I let the black pepper rain down, and I mean really rain down. Like, a full-on nor'easter of pepper. A heavy hand is essential not only because black pepper is such an important flavor in carbonara, but also because it's bold enough to cover up some of the other tricks lurking beneath. With enough black pepper, the sauce won't taste tofu-y at all, and the miso and nutritional yeast will seem more legitimately eggy. The pepper is like heavy covering fire: an onslaught of such force that any weaknesses in your attack won't be noticed by your taste buds.
Last step: fat. Rendered lard, naturally, is out of the question, but we need something that will make the sauce rich and unctuous. I ended up reaching for the most obvious Italian option, a bottle of extra-virgin olive oil. The main thing to know when incorporating the olive oil is that high-speed blending can give it a bitter flavor, so make sure to set your blender to its slowest speed. Then add the oil, and don't blend it any longer than necessary to incorporate it.
That left the cheese, which presented no small conundrum. Pecorino Romano is the signature cheese in a carbonara, and its flavor is distinct. It's sharp to the point of being spicy, with a pretty decent lactic funk. So I started thinking: What else has a sharp lactic tang that isn't dairy? And that's when it struck me: sauerkraut.
Sauerkraut forms when wild lactobacillus bacteria eat the cabbage's natural sugars, transforming them into lactic acid. The finished kraut is tart and funky (read up on how to ferment your own here). By using some of the sour brine from kraut, I could slip that flavor into the sauce without introducing any dairy. Brine from any good-quality sauerkraut will work here.
The key is to add just enough to give the sauce a lactic-acid kick, but not so much that it takes on a lot of that sulfurous smell common to fermented cabbage. Since you have to be judicious in the amount of kraut brine you add, using it alone won't provide the full spectrum of tartness that pecorino does, so I supplement it with just a splash of white wine vinegar or lemon juice.
It's a weird idea, I know, and if you eat the carbonara knowing what the secret ingredient is, you can pick it out. But when I served it to people who didn't know what it was, they had no idea. My wife, as I mentioned above, thought it was real carbonara, and I think that's a pretty good indication of how well it works.
My last little touch is to sprinkle some cayenne pepper into the sauce, which adds the pecorino's spicy factor—something the kraut brine doesn't.
Putting It Together
Ultimately, this is a much easier dish to prepare than a classic carbonara. There's no worry about eggs scrambling, for instance. All you have to do is sauté the mushrooms until they're golden, cook the pasta, then transfer the pasta to the pan with the mushrooms. Pour enough of the pre-blended sauce on top to just coat the noodles, maybe add a splash of the pasta-cooking water, and cook it all together until the sauce thickens up.
Look at that and tell me: Just how crazy am I?
Vegan Carbonara Pasta Recipe
A vegan version of carbonara that's rich, dotted with meaty mushroom bits, plus the characteristic lactic tang of Pecorino Romano, but with no dairy whatsoever.
7 ounces silken tofu (1/2 of a 14-ounce block; 200g)
1/2 cup (120ml) sauerkraut brine (see note)
1/4 cup nutritional yeast (1/2 ounce; 15g)
1 tablespoon (15ml) white miso
Generous pinch cayenne pepper or red chile flakes
3 generous dashes (about 1/4 teaspoon) smoked paprika
2 teaspoons (8g) freshly ground black pepper
1 tablespoon (15ml) white wine vinegar or fresh juice from 1 lemon
1/2 cup (120ml) extra virgin olive oil, divided
4 ounces (115g) king oyster mushrooms, stems and caps sliced into 1/2-inch "lardons"
1 pound (450g) dry spaghetti or penne
In a blender, combine tofu, sauerkraut brine, nutritional yeast, miso, cayenne or chile flakes, smoked paprika, black pepper, and vinegar or lemon juice. Blend at high speed, stopping to scrape down sides if necessary, until a very smooth, silky sauce forms. Season with salt. Add 1/4 cup (60ml) olive oil and blend in at low speed just until emulsified.
In a large sauté pan, heat remaining 1/4 cup (60ml) olive oil over medium-high heat until shimmering. Add mushrooms and cook, stirring, until browned, about 6 minutes.
In a pot of salted boiling water, cook pasta until just al dente. Transfer pasta to pan with mushrooms, reserving pasta-cooking water. Pour on just enough creamy sauce to coat all the pasta, then add about 1/4 cup (60ml) pasta-cooking water. Cook over medium heat, stirring, until sauce forms a silky glaze that coats pasta. Serve.
Use the brine from good-quality fermented sauerkraut—it should be nice and sour. You can also make your own kraut at home and use some of the brine from that. The sauerkraut brine adds the lactic acid that the cheese would normally contribute to the dish, but in a pinch, you could substitute 1/4 cup (60ml) each of water and dry white wine.
|Nutrition Facts (per serving)|
|Amount per serving|
|% Daily Value*|
|Total Fat 32g||41%|
|Saturated Fat 5g||23%|
|Total Carbohydrate 93g||34%|
|Dietary Fiber 8g||28%|
|Total Sugars 4g|
|Vitamin C 5mg||26%|
|*The % Daily Value (DV) tells you how much a nutrient in a food serving contributes to a daily diet. 2,000 calories a day is used for general nutrition advice.|