Is Pesto Vegan? The Short Answer
Traditional pesto is not vegan, and most mainstream jarred basil pesto is not either. Classic pesto alla genovese is built around basil, pine nuts, garlic, olive oil and, crucially, hard aged cheese. That cheese is the problem. A handful of jarred products are explicitly labeled vegan and use cashews or tofu to replace it, and plenty of homemade versions are easy to veganize. But if a jar just says "Basil Pesto" and lists a cheese blend, it is a dairy product, and often one that raises a second question about rennet.
This guide covers what goes into pesto, why the cheese matters, which jarred products we could verify as vegan or not, how the nutrition compares, and how to read the label so you do not get caught by "natural flavors" and similar phrases.
What Is Pesto?
Pesto comes from Genoa, Italy. According to the Italian national tourism site, pesto genovese contains Genoese D.O.P. basil, Parmesan (or pecorino as an alternative), pine nuts, garlic, extra virgin olive oil and coarse salt. Everything on that list is plant-based except the cheese. We sourced that recipe from a tourism site rather than the official pesto consortium, so treat it as a description of the classic recipe rather than a legal specification.
The word "pesto" comes from the idea of pounding or crushing, and that is the point of the sauce: a thick, herby, nutty paste you toss with pasta, spread on sandwiches or spoon over vegetables. Industrial jars often swap pine nuts for cashews or add sunflower oil, potato flakes or sugar to cut cost and extend shelf life, so the jar can differ a lot from the traditional recipe.
Why Cheese Makes Pesto Non-Vegan
Parmesan and pecorino are made from animal milk, so by definition they are not vegan. There is a second ethical layer many vegetarians and vegans care about: rennet. A retailer explainer for Parmigiano Reggiano states the cheese is made from only milk, salt and rennet, and that the production rules allow only animal rennet from calves. Snopes reports the same thing, although it does not cite the consortium directly, and we could not open the consortium's own page to confirm the rule at the source. Treat the calf rennet point as widely reported rather than officially verified here.
Pecorino is made from sheep's milk. One mainstream jar we reviewed lists Pecorino Romano DOP cheese made from cultured sheep's milk, salt and rennet. That confirms rennet is used, but the label does not say whether the rennet is animal-derived, and we could not verify the DOP rules for pecorino either.
The practical takeaway: for vegans, any jar listing Parmesan, Parmigiano Reggiano, pecorino or a "cheese blend" is out, regardless of the rennet question. For vegetarians, the rennet question is a second reason to be careful with imported or DOP-style cheeses.
Jarred Pesto Brand-by-Brand
Here is what we could verify from retailer listings and brand pages. "Unverified" means we could not confirm an ingredient list, not that the product is vegan or non-vegan.
| Product | Cheese or dairy? | Verified ingredients | Vegan? |
|---|---|---|---|
| Rao's Homemade Basil Pesto | Yes | Basil, sunflower oil, a cheese blend of granular and Parmigiano Reggiano cheese (made with cow's milk, enzymes, and salt), cashews, sea salt, sugar, potato flakes, pine nuts, dried glucose syrup, garlic, and lactic acid; contains milk and tree nuts | No |
| Kirkland (Costco) Basil Pesto | Yes | Label includes Parmesan cheese (pasteurized cultured part-skimmed milk, salt, enzymes) and Pecorino Romano DOP cheese (cultured sheep's milk, salt, rennet), per a third-party label breakdown | No |
| Barilla Genovese | Yes (UK label) | UK label lists Parmigiano Reggiano PDO cheese, whey powder, milk protein and milk-derived natural flavourings; the US jar was not verified | No (UK); check US label |
| Classico Traditional Basil Pesto | Described as made with Parmesan | Ingredient list not verified | Likely no; verify |
| Barilla Vegan Basil Pesto | No | Basil, sunflower oil, cashews, glucose syrup, water, modified corn starch, salt, natural flavors, extra virgin olive oil, sugar, lactic acid | Labeled vegan by the brand |
| Filippo Berio Dairy Free Vegan Basil Pesto | No | Basil 42.9%, sunflower oil, tofu, cashew nuts, potato, glucose syrup, extra virgin olive oil, salt, pine nuts, lactic acid | Labeled vegan |
| Trader Joe's Vegan Kale, Cashew & Basil Pesto | No | Kale, olive oil blend, water, basil, cashew butter, garlic, lemon juice, sea salt, black pepper (from a third-party app, not verified against the jar) | Labeled vegan; verify on pack |
The pattern is clear. Jars with "Homemade" or "Traditional" in the name tend to include cheese. Jars with "Vegan" or "Dairy Free" in the name replace it with cashews, tofu or both. Do not assume from the brand alone, because the same company can sell both a cheese pesto and a vegan pesto, as Barilla does.
Nutrition Comparison (Per 1/4 Cup)
Retailer listings show approximately three servings per jar. Pesto is mostly oil, so none of these is a light sauce:
| Product | Calories | Fat | Sat fat | Sodium | Protein |
|---|---|---|---|---|---|
| Rao's Homemade Basil | 320 | 31 g | 5 g | 980 mg | 4 g |
| Barilla Vegan Basil | 260 | 25 g | 2.5 g | 720 mg | 2 g |
| Filippo Berio Dairy Free | 220 | 20 g | 2.5 g | 630 mg | 2 g |
The vegan jars are lighter on saturated fat and sodium in this comparison, mostly because there is no aged cheese to contribute salt and fat. They also contain less protein. Nobody should buy pesto for protein, and listings can contain errors, so check the jar for exact numbers before relying on any of these figures.
Hidden Dairy: What to Watch on a "Dairy-Free" Label
Even a jar with no obvious cheese deserves a quick scan. Vegan pesto labels in our research include "natural flavors" and lactic acid. Nothing on the pages we read suggests those are dairy-derived, and lactic acid used in food is commonly produced by fermentation, but a label cannot prove it either way, and we found no authoritative source to cite on the point. On the other side, the UK Barilla Genovese label shows dairy appearing in "natural flavourings (MILK)", "milk protein" and "whey powder", which proves the point that dairy can hide in places beyond the cheese line.
In the US, milk must be declared as an allergen, which makes dairy easy to catch. That does not help with animal rennet, which is not an allergen declaration. If rennet matters to you, look for cheese-free products or contact the manufacturer. You can also paste a label into the spvegan.com ingredient checker to flag common animal-derived ingredients quickly.
How to Make Vegan Pesto at Home
If you cannot find a jar you trust, homemade pesto is quick. Blend fresh basil, garlic, lemon juice, olive oil and salt with pine nuts, cashews or walnuts. For the cheesy savoriness, add nutritional yeast or a little white miso. The texture is slightly different from the classic, but it is rich, herby and easy to adjust. Several of the commercial vegan jars also rely on cashews, which tells you the swap works. Store it in the fridge with a thin layer of oil on top.
Who Should Buy Which Pesto
If you eat dairy and are not worried about rennet, the cheese-based jars are fine and often cheaper. If you are vegan or dairy-free, buy a jar labeled vegan, check that the ingredient list agrees with the front label, and be wary of anything with a cheese blend. If you are vegetarian and avoid animal rennet, skip cheese pesto unless the company confirms the rennet source. If you have a tree nut allergy, note that even the vegan jars rely on cashews or pine nuts.
Final Verdict: Is Pesto Vegan?
Traditional pesto: no. Most mainstream jarred basil pesto: no. Jars labeled vegan: yes, according to their ingredient lists. The cheese is the deciding factor, and the rennet question adds a second reason for many vegetarians to be cautious. The good news is that pesto is one of the easiest sauces to veganize, and there are now several mainstream vegan jars plus a ten-minute homemade option.
Vegan-friendliness rating: 5/10 for standard pesto, 8/10 for labeled vegan versions. Always check the ingredient list, because "basil pesto" on the front of a jar tells you almost nothing about what is inside.
