Tofu Carnitas

This tofu carnitas recipe is an innovative and delicious vegetarian version of traditional Mexican carnitas. I used tofu as a substitute for pork, and it's perfect because tofu absorbs all the intense flavors and characteristic texture of carnitas.
Two tacos on a plate with limes.

When you try these tofu carnitas, you won’t believe how delicious they are. The tofu texture is incredible with the combination of Mexican flavors, and when you make the taco, you are truly transported to the best taqueria in Mexico.

About this recipe

Ah, Mexican carnitas! They are a traditional, delicious, and very popular dish in Mexico, originating mainly from Michoacán. Carnitas are typically made with pork meat, slowly cooked in its own fat until it is perfectly tender on the inside and slightly crispy on the outside.

Like the traditional method, making tofu carnitas is also a bit time-consuming because, in the end, what we want is that while the tofu is browning, it absorbs the flavors of the orange juice, bay leaf, onion, and garlic.

Once cooked, the carnitas are shredded or cut into small pieces and usually served in tacos, accompanied by corn tortillas, cilantro, chopped onion, and a variety of sauces, such as salsa verde or salsa roja.

How to make tofu carnitas?

A person grating a piece of tofu on a grater.

Step 1. Remove the tofu from the package, squeeze all the liquid out, and grate it with a box grater over a baking sheet or bowl.

Find everything you need to know about tofu here.

Shredded carnitas in a skillet with a wooden spoon.

Step 2: Prepare the magic flavor mixture and pour it on top of the tofu.

Place this mixture in a non-stick skillet over medium heat for 20-25 minutes.

Granola in a pan with a wooden spoon, topped with tofu.

Step 3: After 20-25 minutes, the tofu should be this golden brown. You have to ensure it doesn’t stick and keep moving and moving.

Prepare your taquitos with corn tortilla and finish with chopped onion, chopped cilantro, and a good salsa (find the list of Mexican salsas below).

Tips on how to make the best vegan carnitas

  • Tofu has no flavor; it is a sponge that absorbs everything. Don’t skimp on salt, oil, spices, and orange juice. This is what will give it the flavor.
  • Use sour orange juice. If you can’t find it and your juice is too sweet, add a teaspoon of lime juice or apple cider vinegar.
  • The coffee powder I use is for making espresso coffee, which is the strongest. Use the one you have at home or American coffee.
  • If you feel that your carnitas are lacking a little umami flavor, add a tablespoon or two of soy sauce to your skillet.

Mexican salsa recipes

Two tacos on a plate with limes.


Alejandra Graf
This tofu carnitas recipe is an innovative and delicious vegetarian version of traditional Mexican carnitas. I used tofu as a substitute for pork, and it’s perfect because tofu absorbs all the intense flavors and characteristic texture of carnitas.
5 de 3 votos
Prep Time 10 minutes
Cook Time 25 minutes
Total Time 35 minutes
Course Main Course
Cuisine Mexican
Servings 4 people
Calories 146 kcal


  • 1-16 oz block of extra firm tofu pressed and grated
  • 1 Tablespoon Instant coffee powder
  • 1 Tablespoon Chile powder you can use ancho chile or a mix of Mexican chiles
  • ¼ cup vegetable oil
  • ¼ cup Orange juice
  • 1 tablespoon Dried oregano
  • 1 bay leaf
  • 1 tablespoon Kosher salt or half a tablespoon of table salt or sea salt
  • Half an onion thinly sliced


  • 8 corn tortillas
  • ½ cup chopped onion
  • ½ cup chopped cilantro
  • Lime


  • Press the Tofu: Start by pressing the tofu to remove excess water. This is important for it to better absorb the flavors of the marinade. You can wrap it in absorbent paper and place something heavy on top for a few minutes.
  • Grate the Tofu: Once the tofu is well pressed, grate it using a box grater. Use the coarse grating side to get a texture that mimics small pieces of meat.
  • Prepare the Marinade: In a large bowl, mix the orange juice, oil, instant ground coffee, oregano, ground chile, salt to taste, and finely sliced onion. Stir well to combine all the ingredients.
  • Marinate the Tofu: Add the grated tofu to the bowl with the marinade. Mix gently so that the tofu is well imbued with all the flavors. Let the mixture rest for at least 20-25 minutes so that the tofu absorbs the flavors. If you have time, you can let it marinate longer in the refrigerator to intensify the taste.
  • Serve: In corn tortillas and finish with onion, chopped cilantro, lime juice, and a good spoonful of salsa.


Leftover carnitas can be stored in a container in the fridge.
You can use these carnitas to make tortas, quesadillas, or bowls.
It’s important to taste the carnitas and adjust the seasoning as needed.
Use fresh aromatic herbs; ensure that the oregano and bay leaf have the most flavor possible.


Serving: 2servingsCalories: 146kcalCarbohydrates: 30gProtein: 4gFat: 2gSaturated Fat: 0.3gPolyunsaturated Fat: 1gMonounsaturated Fat: 0.5gSodium: 1807mgPotassium: 278mgFiber: 5gSugar: 3gVitamin A: 783IUVitamin C: 10mgCalcium: 82mgIron: 2mg
Keyword mexican tofu, tofu


Nutritional information of this recipe is only an estimate, the accuracy for any recipe on this site is not guaranteed.

Did you make this recipe?Tag @piloncilloyvainilla on Instagram and hashtag it #alecooks so we can all see your creations.
Alejandra Graf
Latest posts by Alejandra Graf (see all)
5 from 3 votes (3 ratings without comment)
Notify of
Recipe Rating

Inline Feedbacks
View all comments