{"id":55728,"date":"2024-06-06T05:00:00","date_gmt":"2024-06-06T09:00:00","guid":{"rendered":"https:\/\/www.thehealthymaven.com\/?p=55728"},"modified":"2024-11-07T16:29:15","modified_gmt":"2024-11-07T21:29:15","slug":"chipotle-sofritas","status":"publish","type":"post","link":"https:\/\/www.thehealthymaven.com\/chipotle-sofritas\/","title":{"rendered":"Chipotle Sofritas"},"content":{"rendered":"<!DOCTYPE html PUBLIC \"-\/\/W3C\/\/DTD HTML 4.0 Transitional\/\/EN\" \"http:\/\/www.w3.org\/TR\/REC-html40\/loose.dtd\">\n<p><em>Transform tofu into the most delicious <strong>Chipotle Sofritas<\/strong> recipe. This copycat recipe tastes just like Chipotle with all the smoky, meaty flavor but without the actual meat. Perfect for vegan tacos or burrito bowls.<\/em><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"790\" height=\"1185\" src=\"https:\/\/www.thehealthymaven.com\/wp-content\/uploads\/2024\/02\/chipotle-sofritas-04.jpg\" alt=\"vegan sofritas in a cast iron skillet.\" class=\"wp-image-57187\" srcset=\"https:\/\/www.thehealthymaven.com\/wp-content\/uploads\/2024\/02\/chipotle-sofritas-04.jpg 790w, https:\/\/www.thehealthymaven.com\/wp-content\/uploads\/2024\/02\/chipotle-sofritas-04-200x300.jpg 200w, https:\/\/www.thehealthymaven.com\/wp-content\/uploads\/2024\/02\/chipotle-sofritas-04-768x1152.jpg 768w, https:\/\/www.thehealthymaven.com\/wp-content\/uploads\/2024\/02\/chipotle-sofritas-04-400x600.jpg 400w, https:\/\/www.thehealthymaven.com\/wp-content\/uploads\/2024\/02\/chipotle-sofritas-04-150x225.jpg 150w\" sizes=\"(max-width: 790px) 100vw, 790px\" \/><\/figure>\n\n\n<div class=\"wp-block-yoast-seo-table-of-contents yoast-table-of-contents\"><h2 id=\"table-of-contents\">Table of Contents<\/h2><ul class=\"is-style-fancy\"><li><a href=\"#h-what-is-sofritas\">What is Sofritas?<\/a><\/li><li><a href=\"#h-ingredients-needed\">Ingredients Needed<\/a><\/li><li><a href=\"#h-how-to-make-chipotle-sofritas\">How to Make Chipotle Sofritas<\/a><\/li><li><a href=\"#h-how-to-serve-chipotle-sofritas\">How to Serve Chipotle Sofritas<\/a><\/li><li><a href=\"#h-frequently-asked-questions\">Frequently Asked Questions<\/a><\/li><li><a href=\"#h-storage-instructions\">Storage Instructions<\/a><\/li><li><a href=\"#h-more-vegan-mexican-recipes\">More Vegan Mexican Recipes<\/a><\/li><li><a href=\"#tasty-recipes-57067-jump-target\">Chipotle Sofritas Recipe<\/a><\/li><\/ul><\/div>\n\n\n<p>One of my most popular recipes is this <a href=\"https:\/\/www.thehealthymaven.com\/copycat-chipotle-chicken-burrito-bowl\/\">Chipotle Burrito Bowl<\/a> made with pulled chicken&hellip;and for good reason! It&rsquo;s delicious.<\/p>\n\n\n\n<p>That being said, I&rsquo;ve been on a Chipotle Sofritas kick lately and wanted to see if I could master the recipe at home. I&rsquo;m happy to see I&rsquo;ve been successful! So for anyone looking for a vegan alternative to my Chipotle Chicken Burrito Bowls, I&rsquo;ve got you covered. This tofu sofritas also tastes delicious on top of salad, in tacos or even on its own. Trust me, you&rsquo;ll love this recipe!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-what-is-sofritas\">What is Sofritas?<\/h2>\n\n\n\n<p>Sofrito is a Spanish pepper sauce that&rsquo;s common in Spanish, Portugese and Latin American cooking. &ldquo;Chipotle sofritas&rdquo; was popularized in 2014 when Chipotle teamed up with Hodo Tofu to come up with a braised tofu recipe cooked in a spicy and smoky pepper sauce.<\/p>\n\n\n\n<p>The key is to use extra firm tofu so that the tofu holds its shape and lots of spices to maximize flavor.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-ingredients-needed\">Ingredients Needed<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Extra Firm Tofu<\/strong> &ndash; it&rsquo;s critical that you use extra firm tofu otherwise the tofu will break down and be too crumbly. That&rsquo;s not to say it won&rsquo;t be delicious! It just won&rsquo;t have that &ldquo;meaty&rdquo; texture. Be sure to squeeze out any excess liquid too. No tofu press required.<\/li>\n\n\n\n<li><strong>Olive oil <\/strong>&ndash; for roasting tofu and for sofritas sauce.<\/li>\n\n\n\n<li><strong>Red Bell Pepper <\/strong>&ndash; The base of the sauce.<\/li>\n\n\n\n<li><strong>Sweet Onion <\/strong>&ndash; white or yellow onion will work too but the sweet onion maximizes on flavor.<\/li>\n\n\n\n<li><strong>Chipotles in Adobo Sauce<\/strong> &ndash; you can find this in the canned section of most grocery stores.<\/li>\n\n\n\n<li><strong>Roma Tomatoes<\/strong> &ndash; I find roma tomatoes taste and work best but use whatever tomatoes you can find.<\/li>\n\n\n\n<li><strong>Fresh garlic<\/strong> &ndash; be sure to use freshly minced garlic for the best flavor.<\/li>\n\n\n\n<li><strong>Spices <\/strong>&ndash; Chili powder, smoked paprika (smoked is key!), ground cumin, salt and pepper. Feel free to reduce salt if watching sodium levels.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-how-to-make-chipotle-sofritas\">How to Make Chipotle Sofritas<\/h2>\n\n\n\n<p class=\"has-quaternary-background-color has-background\"><strong>STEP 1: PREP TOFU + BAKE<\/strong><\/p>\n\n\n\n<p>Press your tofu between paper towel or using a tofu press to remove all excess moisture. Chop into bite-size pieces. Place on a parchment-lined baking sheet and drizzle with olive oil and sprinkle with salt. Roast for 20 minutes or until crispy around the edges.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"790\" height=\"1185\" src=\"https:\/\/www.thehealthymaven.com\/wp-content\/uploads\/2024\/02\/chipotle-sofritas-02.jpg\" alt=\"Baked tofu on a sheet pan.\" class=\"wp-image-57184\" srcset=\"https:\/\/www.thehealthymaven.com\/wp-content\/uploads\/2024\/02\/chipotle-sofritas-02.jpg 790w, https:\/\/www.thehealthymaven.com\/wp-content\/uploads\/2024\/02\/chipotle-sofritas-02-200x300.jpg 200w, https:\/\/www.thehealthymaven.com\/wp-content\/uploads\/2024\/02\/chipotle-sofritas-02-768x1152.jpg 768w, https:\/\/www.thehealthymaven.com\/wp-content\/uploads\/2024\/02\/chipotle-sofritas-02-400x600.jpg 400w, https:\/\/www.thehealthymaven.com\/wp-content\/uploads\/2024\/02\/chipotle-sofritas-02-150x225.jpg 150w\" sizes=\"(max-width: 790px) 100vw, 790px\" \/><\/figure>\n\n\n\n<p class=\"has-quaternary-background-color has-background\"><strong>STEP 2: MAKE SOFRITAS SAUCE<\/strong><\/p>\n\n\n\n<p>To a food processor add your olive oil, bell pepper, sweet onion, chipotles in adobo sauce, roma tomatoes, garlic and spices. Pulse until a thick paste is formed. Add your sofritas sauce to a large skillet over medium-high heat. Pour in water and then allow sauce to thicken and reduce, 5-7 minutes.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"790\" height=\"1185\" src=\"https:\/\/www.thehealthymaven.com\/wp-content\/uploads\/2024\/02\/chipotle-sofritas-01.jpg\" alt=\"sofritas sauce in a food processor.\" class=\"wp-image-57185\" srcset=\"https:\/\/www.thehealthymaven.com\/wp-content\/uploads\/2024\/02\/chipotle-sofritas-01.jpg 790w, https:\/\/www.thehealthymaven.com\/wp-content\/uploads\/2024\/02\/chipotle-sofritas-01-200x300.jpg 200w, https:\/\/www.thehealthymaven.com\/wp-content\/uploads\/2024\/02\/chipotle-sofritas-01-768x1152.jpg 768w, https:\/\/www.thehealthymaven.com\/wp-content\/uploads\/2024\/02\/chipotle-sofritas-01-400x600.jpg 400w, https:\/\/www.thehealthymaven.com\/wp-content\/uploads\/2024\/02\/chipotle-sofritas-01-150x225.jpg 150w\" sizes=\"(max-width: 790px) 100vw, 790px\" \/><\/figure>\n\n\n\n<p class=\"has-quaternary-background-color has-background\"><strong>STEP 3: STIR IN TOFU<\/strong><\/p>\n\n\n\n<p>Once tofu is done roasting add to sofritas sauce and cook until tofu has absorbed sauce and is nice and thick (another 5 minutes). Break up any larger pieces of tofu with a spatula. Serve over rice or with any of the suggestions below.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"790\" height=\"1185\" src=\"https:\/\/www.thehealthymaven.com\/wp-content\/uploads\/2024\/02\/chipotle-sofritas-03.jpg\" alt=\"chipotle sofritas in a cast iron skillet\" class=\"wp-image-57186\" srcset=\"https:\/\/www.thehealthymaven.com\/wp-content\/uploads\/2024\/02\/chipotle-sofritas-03.jpg 790w, https:\/\/www.thehealthymaven.com\/wp-content\/uploads\/2024\/02\/chipotle-sofritas-03-200x300.jpg 200w, https:\/\/www.thehealthymaven.com\/wp-content\/uploads\/2024\/02\/chipotle-sofritas-03-768x1152.jpg 768w, https:\/\/www.thehealthymaven.com\/wp-content\/uploads\/2024\/02\/chipotle-sofritas-03-400x600.jpg 400w, https:\/\/www.thehealthymaven.com\/wp-content\/uploads\/2024\/02\/chipotle-sofritas-03-150x225.jpg 150w\" sizes=\"(max-width: 790px) 100vw, 790px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-how-to-serve-chipotle-sofritas\">How to Serve Chipotle Sofritas<\/h2>\n\n\n\n<p>The most classic way to serve sofritas is over a bowl of rice with an abundance of sides. Tacos are great too! You could build your own burrito bowl by using <a href=\"https:\/\/www.thehealthymaven.com\/copycat-chipotle-chicken-burrito-bowl\/\">this recipe<\/a> and replacing the chicken with vegan sofritas. Alternatively just pair with rice, black beans, chopped romaine lettuce, <a href=\"https:\/\/www.thehealthymaven.com\/traditional-guacamole-recipe\/\">guacamole<\/a> and <a href=\"https:\/\/www.thehealthymaven.com\/fresh-corn-salsa-baked-chili-lime-tortilla-chips\/\">corn salsa<\/a>. You could also replace the protein in any of these Mexican-inspired recipes:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.thehealthymaven.com\/chicken-burrito-recipe\">Chicken Burritos<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.thehealthymaven.com\/spicy-grilled-shrimp-tacos-with-all-the-fixins\/\">Spicy Shrimp Tacos<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.thehealthymaven.com\/turkey-tacos\/\">Turkey Tacos<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.thehealthymaven.com\/sheet-pan-chicken-fajitas\/\">Sheet Pan Chicken Fajitas<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.thehealthymaven.com\/instant-pot-chicken-taquitos\/\">Chicken Taquitos<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.thehealthymaven.com\/green-chicken-enchiladas\/\">Green Chicken Enchiladas<\/a><\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"790\" height=\"1185\" src=\"https:\/\/www.thehealthymaven.com\/wp-content\/uploads\/2024\/02\/chipotle-sofritas-06.jpg\" alt=\"vegan chipotle sofritas on a taco with guacamole + corn.\" class=\"wp-image-57188\" srcset=\"https:\/\/www.thehealthymaven.com\/wp-content\/uploads\/2024\/02\/chipotle-sofritas-06.jpg 790w, https:\/\/www.thehealthymaven.com\/wp-content\/uploads\/2024\/02\/chipotle-sofritas-06-200x300.jpg 200w, https:\/\/www.thehealthymaven.com\/wp-content\/uploads\/2024\/02\/chipotle-sofritas-06-768x1152.jpg 768w, https:\/\/www.thehealthymaven.com\/wp-content\/uploads\/2024\/02\/chipotle-sofritas-06-400x600.jpg 400w, https:\/\/www.thehealthymaven.com\/wp-content\/uploads\/2024\/02\/chipotle-sofritas-06-150x225.jpg 150w\" sizes=\"(max-width: 790px) 100vw, 790px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-frequently-asked-questions\">Frequently Asked Questions<\/h2>\n\n\n\n<div class=\"schema-faq wp-block-yoast-faq-block\"><div class=\"schema-faq-section\" id=\"faq-question-1707494708849\"><strong class=\"schema-faq-question\">Can I use a blender instead of a food processor?<\/strong> <p class=\"schema-faq-answer\">Absolutely! A high-speed blender can be used in place of a food processor. Just add all your ingredients and blend until smooth.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1707494765298\"><strong class=\"schema-faq-question\">Can I add veggies?<\/strong> <p class=\"schema-faq-answer\">For sure. You can easily stir your favorite veggies into the sofritas sauce either with or in place of the tofu.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1707494791526\"><strong class=\"schema-faq-question\">Do I need to use a tofu press?<\/strong> <p class=\"schema-faq-answer\">No. Simply place your tofu between two pieces of paper towel and use your body weight or a heavy object to squeeze out all excess moisture. Do not skip this step though!<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1731014756040\"><strong class=\"schema-faq-question\">Do I have to roast my tofu first?<\/strong> <p class=\"schema-faq-answer\">I&rsquo;d recommend it. Otherwise your tofu will break down in the sofritas sauce and we want it to hold together a bit so it has a meaty texture.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1707494841846\"><strong class=\"schema-faq-question\">Can I double this recipe?<\/strong> <p class=\"schema-faq-answer\">Absolutely. This recipe can easily be doubled or tripled.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1707494874918\"><strong class=\"schema-faq-question\">Can I freeze sofritas?<\/strong> <p class=\"schema-faq-answer\">Yes! This recipe freezes well. See instructions below.<\/p> <\/div> <\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-storage-instructions\">Storage Instructions<\/h2>\n\n\n\n<p><strong>Refrigerator:<\/strong> Store your leftover sofritas recipe in the fridge for up to 5 days. Reheat in microwave or stove top.<\/p>\n\n\n\n<p><strong>Freezer:<\/strong> You can freeze your Chipotle Sofritas too. Just store in an airtight container or freezer bag for up to 3 months. Allow to thaw overnight in fridge and then reheat on stove top or in microwave.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-more-vegan-mexican-recipes\">More Vegan Mexican Recipes<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.thehealthymaven.com\/quinoa-taco-salad\/\">Quinoa Taco Salad<\/a><\/li>\n\n\n\n<li><a href=\"http:\/\/www.thehealthymaven.com\/cauliflower-tacos\">Cauliflower Tacos<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.thehealthymaven.com\/eggplant-tacos\/\">Roasted Eggplant Tacos<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.thehealthymaven.com\/quinoa-tortilla-soup\/\">Vegetarian Tortilla Soup<\/a><\/li>\n<\/ul>\n\n\n<svg aria-hidden=\"true\" style=\"position: absolute;width: 0;height: 0;overflow: hidden\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n<defs>\n<symbol viewbox=\"9 9 46 42\" id=\"wpt-star-full\">\n\t<path d=\"m46.3 52-14.4-9.5-14.4 9.4L22 35.3 8.7 24.5l17.1-.9 6.2-16 6 16 17.2 1-13.4 10.7z\"><\/path>\n<\/symbol>\n<\/defs>\n<\/svg>\n<a class=\"button tasty-recipes-print-button tasty-recipes-no-print tasty-recipes-print-above-card\" href=\"https:\/\/www.thehealthymaven.com\/chipotle-sofritas\/print\/57067\/\">Print<\/a><span class=\"tasty-recipes-jump-target\" id=\"tasty-recipes-57067-jump-target\" style=\"display:block;padding-top:2px;margin-top:-2px;\"><\/span><div id=\"tasty-recipes-57067\" data-tr-id=\"57067\" class=\"tasty-recipes tasty-recipes-57067 tasty-recipes-display tasty-recipes-has-image\" data-tasty-recipes-customization=\"primary-color.background-color primary-color.outline-color\">\n\n\n<h2 class=\"tasty-recipes-title\" data-tasty-recipes-customization=\"h2-color.color h2-transform.text-transform\" id=\"chipotle-sofritas\">Chipotle Sofritas<\/h2>\n<div class=\"tasty-recipes-image-button-container\">\n\t\t\t<div class=\"tasty-recipes-image\">\n\t\t\t<img decoding=\"async\" width=\"150\" height=\"150\" src=\"https:\/\/www.thehealthymaven.com\/wp-content\/uploads\/2024\/06\/chipotle-sofritas-13-150x150.jpg\" class=\"attachment-thumbnail size-thumbnail\" alt=\"sofritas chipotle in a cast-iron skillet.\" data-pin-nopin=\"true\">\t\t<\/div>\n\t\t<div class=\"tasty-recipes-buttons\">\n\t\t\t\t<div class=\"tasty-recipes-button-wrap\">\n\t\t\t\n<a class=\"button tasty-recipes-print-button tasty-recipes-no-print\" href=\"https:\/\/www.thehealthymaven.com\/chipotle-sofritas\/print\/57067\/\" target=\"_blank\" data-tasty-recipes-customization=\"\">\n\t\t\t<svg viewbox=\"0 0 24 24\" class=\"svg-print\" aria-hidden=\"true\"><use xlink:href=\"#tasty-recipes-icon-print\"><\/use><\/svg>\n\t\tPrint Recipe<\/a>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n<\/div>\n\t<div class=\"tasty-recipes-rating\" data-tasty-recipes-customization=\"body-color.color\">\n\t\t\t\t\t<p><svg aria-hidden=\"true\" style=\"position: absolute;width: 0;height: 0;overflow: hidden\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n<defs>\n<symbol viewbox=\"9 9 46 42\" id=\"wpt-star-full\">\n\t<path d=\"m46.3 52-14.4-9.5-14.4 9.4L22 35.3 8.7 24.5l17.1-.9 6.2-16 6 16 17.2 1-13.4 10.7z\"><\/path>\n<\/symbol>\n<\/defs>\n<\/svg>\n<span class=\"tasty-recipes-ratings-buttons tasty-recipes-no-ratings-buttons\" data-tr-default-rating=\"0\">\t\t<span class=\"tasty-recipes-rating\">\t\t<i class=\"checked\" data-rating=\"5\">\t\t\t<span class=\"tasty-recipes-rating-solid\" data-tr-clip=\"0\">\t\t\t\t<svg class=\"tasty-recipes-svg\"><use href=\"#wpt-star-full\"><\/use><\/svg>\t\t\t<\/span>\t\t\t<span class=\"tasty-recipes-screen-reader\">\t\t\t\t5 Stars\t\t\t<\/span>\t\t<\/i>\t<\/span>\t\t<span class=\"tasty-recipes-rating\">\t\t<i class=\"checked\" data-rating=\"4\">\t\t\t<span class=\"tasty-recipes-rating-solid\" data-tr-clip=\"0\">\t\t\t\t<svg class=\"tasty-recipes-svg\"><use href=\"#wpt-star-full\"><\/use><\/svg>\t\t\t<\/span>\t\t\t<span class=\"tasty-recipes-screen-reader\">\t\t\t\t4 Stars\t\t\t<\/span>\t\t<\/i>\t<\/span>\t\t<span class=\"tasty-recipes-rating\">\t\t<i class=\"checked\" data-rating=\"3\">\t\t\t<span class=\"tasty-recipes-rating-solid\" data-tr-clip=\"0\">\t\t\t\t<svg class=\"tasty-recipes-svg\"><use href=\"#wpt-star-full\"><\/use><\/svg>\t\t\t<\/span>\t\t\t<span class=\"tasty-recipes-screen-reader\">\t\t\t\t3 Stars\t\t\t<\/span>\t\t<\/i>\t<\/span>\t\t<span class=\"tasty-recipes-rating\">\t\t<i class=\"checked\" data-rating=\"2\">\t\t\t<span class=\"tasty-recipes-rating-solid\" data-tr-clip=\"0\">\t\t\t\t<svg class=\"tasty-recipes-svg\"><use href=\"#wpt-star-full\"><\/use><\/svg>\t\t\t<\/span>\t\t\t<span class=\"tasty-recipes-screen-reader\">\t\t\t\t2 Stars\t\t\t<\/span>\t\t<\/i>\t<\/span>\t\t<span class=\"tasty-recipes-rating\">\t\t<i class=\"checked\" data-rating=\"1\">\t\t\t<span class=\"tasty-recipes-rating-solid\" data-tr-clip=\"0\">\t\t\t\t<svg class=\"tasty-recipes-svg\"><use href=\"#wpt-star-full\"><\/use><\/svg>\t\t\t<\/span>\t\t\t<span class=\"tasty-recipes-screen-reader\">\t\t\t\t1 Star\t\t\t<\/span>\t\t<\/i>\t<\/span><\/span><\/p>\n\t\t\t\t\t\t\t<p><span data-tasty-recipes-customization=\"detail-label-color.color\" class=\"rating-label\">No reviews<\/span><\/p>\n\t\t\t<\/div>\n\n\n\t<div class=\"tasty-recipes-description\" data-tasty-recipes-customization=\"body-color.color\">\n\t\t<p><em>Transform tofu into the most delicious Chipotle Sofritas recipe. This copycat recipe tastes just like Chipotle with all the smoky, meaty flavor but without the actual meat. Perfect for vegan tacos or burrito bowls.<\/em><\/p>\n\t<\/div>\n\n\t<div class=\"tasty-recipes-details\" data-tasty-recipes-customization=\"body-color.color\">\n\t\t<ul>\n\t\t\t\t\t\t\t<li class=\"author\"><strong data-tasty-recipes-customization=\"detail-label-color.color\" class=\"tasty-recipes-label\">Author:<\/strong> <a data-tasty-recipes-customization=\"detail-value-color.color\" class=\"tasty-recipes-author-name\" href=\"https:\/\/www.thehealthymaven.com\/author\/davida\/\">Davida Lederle<\/a><\/li>\n\t\t\t\t\t\t\t<li class=\"prep-time\"><strong data-tasty-recipes-customization=\"detail-label-color.color\" class=\"tasty-recipes-label\">Prep Time:<\/strong> <span data-tasty-recipes-customization=\"detail-value-color.color\" class=\"tasty-recipes-prep-time\">10 minutes<\/span><\/li>\n\t\t\t\t\t\t\t<li class=\"cook-time\"><strong data-tasty-recipes-customization=\"detail-label-color.color\" class=\"tasty-recipes-label\">Cook Time:<\/strong> <span data-tasty-recipes-customization=\"detail-value-color.color\" class=\"tasty-recipes-cook-time\">20 minutes<\/span><\/li>\n\t\t\t\t\t\t\t<li class=\"total-time\"><strong data-tasty-recipes-customization=\"detail-label-color.color\" class=\"tasty-recipes-label\">Total Time:<\/strong> <span data-tasty-recipes-customization=\"detail-value-color.color\" class=\"tasty-recipes-total-time\">30 minutes<\/span><\/li>\n\t\t\t\t\t\t\t<li class=\"yield\"><strong data-tasty-recipes-customization=\"detail-label-color.color\" class=\"tasty-recipes-label\">Yield:<\/strong> <span data-tasty-recipes-customization=\"detail-value-color.color\" class=\"tasty-recipes-yield\"><span data-amount=\"4\">4<\/span> servings <span class=\"tasty-recipes-yield-scale\"><span data-amount=\"1\">1<\/span>x<\/span><\/span><\/li>\n\t\t\t\t\t\t\t<li class=\"category\"><strong data-tasty-recipes-customization=\"detail-label-color.color\" class=\"tasty-recipes-label\">Category:<\/strong> <span data-tasty-recipes-customization=\"detail-value-color.color\" class=\"tasty-recipes-category\">Dinner<\/span><\/li>\n\t\t\t\t\t\t\t<li class=\"method\"><strong data-tasty-recipes-customization=\"detail-label-color.color\" class=\"tasty-recipes-label\">Method:<\/strong> <span data-tasty-recipes-customization=\"detail-value-color.color\" class=\"tasty-recipes-method\">Cook<\/span><\/li>\n\t\t\t\t\t\t\t<li class=\"cuisine\"><strong data-tasty-recipes-customization=\"detail-label-color.color\" class=\"tasty-recipes-label\">Cuisine:<\/strong> <span data-tasty-recipes-customization=\"detail-value-color.color\" class=\"tasty-recipes-cuisine\">Mexican<\/span><\/li>\n\t\t\t\t\t\t\t<li class=\"diet\"><strong data-tasty-recipes-customization=\"detail-label-color.color\" class=\"tasty-recipes-label\">Diet:<\/strong> <span data-tasty-recipes-customization=\"detail-value-color.color\" class=\"tasty-recipes-diet\">Vegan<\/span><\/li>\n\t\t\t\t\t<\/ul>\n\t<\/div>\n\n\t<div class=\"tasty-recipes-ingredients\">\n\t\t<div class=\"tasty-recipes-ingredients-header\">\n\t\t\t<div class=\"tasty-recipes-ingredients-clipboard-container\">\n\t\t\t\t<h3 data-tasty-recipes-customization=\"h3-color.color h3-transform.text-transform\">Ingredients<\/h3>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t<div class=\"tasty-recipes-units-scale-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"tasty-recipes-scale-container\">\n\t\t\t\t\t\t<span class=\"tasty-recipes-scale-label\">Scale<\/span>\n\t\t\t\t\t\t<button class=\"tasty-recipes-scale-button tasty-recipes-scale-button-active\" data-amount=\"1\" type=\"button\">1x<\/button><button class=\"tasty-recipes-scale-button\" data-amount=\"2\" type=\"button\">2x<\/button><button class=\"tasty-recipes-scale-button\" data-amount=\"3\" type=\"button\">3x<\/button>\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t<div class=\"tasty-recipes-ingredients-body\" data-tasty-recipes-customization=\"body-color.color\">\n\t\t\t<ul>\n<li><span data-amount=\"1\">1<\/span> x 14 oz package extra-firm tofu<\/li>\n<li><span data-amount=\"4\" data-unit=\"tbsp\">4 tbsp<\/span> olive oil<\/li>\n<li><span data-amount=\"1\">1<\/span> large bell pepper, <em>seeded and roughly chopped<\/em><\/li>\n<li><span data-amount=\"0.5\">1\/2<\/span> large sweet onion, <em>quartered<\/em><\/li>\n<li><span data-amount=\"0.25\" data-unit=\"cup\">1\/4 cup<\/span> <a href=\"https:\/\/amzn.to\/4fCBnn4\" target=\"_blank\" rel=\"nofollow noopener\">chipotle peppers in adobo sauce<\/a><\/li>\n<li><span data-amount=\"2\">2<\/span> roma tomatoes<\/li>\n<li><span data-amount=\"3\">3<\/span> fresh garlic cloves, <em>peeled<\/em><\/li>\n<li><span data-amount=\"1\" data-unit=\"tsp\">1 tsp<\/span> chili powder<\/li>\n<li><span data-amount=\"0.5\" data-unit=\"tsp\">1\/2 tsp<\/span> smoked paprika<\/li>\n<li><span data-amount=\"0.25\" data-unit=\"tsp\">1\/4 tsp<\/span> ground cumin<\/li>\n<li><span data-amount=\"0.5\" data-unit=\"tsp\">1\/2 tsp<\/span> salt<\/li>\n<li><span data-amount=\"0.25\" data-unit=\"tsp\">1\/4 tsp<\/span> black pepper<\/li>\n<li><span data-amount=\"0.5\" data-unit=\"cup\">1\/2 cup<\/span> water<\/li>\n<\/ul>\n<!--INSIDE_INGREDIENTS-->\t\t<\/div>\n\t\t<div class=\"tasty-recipes-cook-mode\">\n\t<div class=\"tasty-recipes-cook-mode__container\">\n\t\t<label class=\"tasty-recipes-cook-mode__switch\">\n\t\t\t<input type=\"checkbox\" id=\"tasty_recipes_69a6c54f016bd_cookmode\">\n\t\t\t<span class=\"tasty-recipes-cook-mode__switch-slider tasty-recipes-cook-mode__switch-round\" data-tasty-recipes-customization=\"button-color.background button-text-color.color\"><\/span>\n\t\t<\/label>\n\t\t<label for=\"tasty_recipes_69a6c54f016bd_cookmode\">\n\t\t\t<span class=\"tasty-recipes-cook-mode__label\">Cook Mode<\/span>\n\t\t\t<span class=\"tasty-recipes-cook-mode__helper\">\n\t\t\t\tPrevent your screen from going dark\t\t\t<\/span>\n\t\t<\/label>\n\t<\/div>\n<\/div>\n\t<\/div>\n\n\t<div class=\"tasty-recipe-instructions\">\n\t\t<div class=\"tasty-recipes-instructions-header\">\n\t\t\t<h3 data-tasty-recipes-customization=\"h3-color.color h3-transform.text-transform\">Instructions<\/h3>\n\t\t\t\t\t<\/div>\n\t\t<div class=\"tasty-recipes-instructions-body\" data-tasty-recipes-customization=\"body-color.color\">\n\t\t\t<ol>\n<li id=\"instruction-step-1\">Preheat your oven to 400 degrees F. and line a baking sheet with parchment paper.<\/li>\n<li id=\"instruction-step-2\">Press your tofu between paper towel or using a tofu press to remove all excess moisture. Chop into bite-size pieces.<\/li>\n<li id=\"instruction-step-3\">Place your tofu on parchment-lined baking sheet and drizzle with 2 tbsp olive oil and sprinkle with salt. Roast for 20 minutes or until crispy around the edges.<\/li>\n<li id=\"instruction-step-4\">To a food processor add remaining 2 tbsp of olive oil,&nbsp;bell pepper, sweet onion, chipotles in adobo sauce, roma tomatoes, garlic and spices. Pulse until a thick paste is formed.<\/li>\n<li id=\"instruction-step-5\">Add your sofritas sauce to a large skillet over medium-high heat.<\/li>\n<li id=\"instruction-step-6\">Pour in water and then allow sauce to thicken and reduce, 5-7 minutes.<\/li>\n<li id=\"instruction-step-7\">Once tofu is done roasting add to sofritas sauce and cook until tofu has absorbed sauce and is nice and thick (another 5 minutes). Break up any larger pieces of tofu with a spatula.<\/li>\n<li id=\"instruction-step-8\">Serve over rice with veggies or with any of the suggestions above.<\/li>\n<\/ol>\n\t\t<\/div>\n\t<\/div>\n\n\n\n\n\n\n\n\n\n\n\n\n<script>\nwindow.trCommon={\"minRating\":6,\"ajaxurl\":\"https:\\\/\\\/www.thehealthymaven.com\\\/wp-admin\\\/admin-ajax.php\",\"ratingNonce\":\"\",\"postId\":55728};\nwindow.TastyRecipes = window.TastyRecipes || {};\n\nwindow.TastyRecipes.smoothScroll = {\ninit() {\ndocument.addEventListener( 'click', ( e ) => {\nlet anchor = e.target;\nif ( anchor.tagName !== 'A' ) {\nanchor = anchor.closest( 'a.tasty-recipes-scrollto' );\n}\n\nif ( ! anchor || ! anchor.classList.contains( 'tasty-recipes-scrollto' ) ) {\nreturn;\n}\n\nconst elementHref = anchor.getAttribute( 'href' );\nif ( ! elementHref ) {\nreturn;\n}\n\ne.preventDefault();\nthis.goToSelector( elementHref );\n});\n},\ngoToSelector( selector ) {\nconst element = document.querySelector( selector );\nif ( ! element ) {\nreturn;\n}\nelement.scrollIntoView( { behavior: 'smooth' } );\n}\n};\n\ndocument.addEventListener(\n'DOMContentLoaded',\n() => window.TastyRecipes.smoothScroll.init()\n);\n\n(function(){\n\n\nvar bothEquals = function( d1, d2, D ) {\nvar ret = 0;\nif (d1<=D) {\nret++;\n}\nif (d2<=D) {\nret++;\n}\nreturn ret === 2;\n};\n\nvar frac =function frac(x,D,mixed){var n1=Math.floor(x),d1=1;var n2=n1+1,d2=1;if(x!==n1){while(bothEquals(d1,d2,D)){var m=(n1+n2)\/(d1+d2);if(x===m){if(d1+d2<=D){d1+=d2;n1+=n2;d2=D+1}else if(d1>d2){d2=D+1;}else {d1=D+1;}break}else if(x<m){n2=n1+n2;d2=d1+d2}else{n1=n1+n2;d1=d1+d2}}}if(d1>D){d1=d2;n1=n2}if(!mixed){return[0,n1,d1];}var q=Math.floor(n1\/d1);return[q,n1-q*d1,d1]};frac.cont=function cont(x,D,mixed){var sgn=x<0?-1:1;var B=x*sgn;var P_2=0,P_1=1,P=0;var Q_2=1,Q_1=0,Q=0;var A=Math.floor(B);while(Q_1<D){A=Math.floor(B);P=A*P_1+P_2;Q=A*Q_1+Q_2;if(B-A<5e-8){break;}B=1\/(B-A);P_2=P_1;P_1=P;Q_2=Q_1;Q_1=Q}if(Q>D){if(Q_1>D){Q=Q_2;P=P_2}else{Q=Q_1;P=P_1}}if(!mixed){return[0,sgn*P,Q];}var q=Math.floor(sgn*P\/Q);return[q,sgn*P-q*Q,Q]};\n\n\nwindow.tastyRecipesVulgarFractions = JSON.parse(decodeURIComponent(\"%7B%22%C2%BC%22%3A%221%2F4%22%2C%22%C2%BD%22%3A%221%2F2%22%2C%22%C2%BE%22%3A%223%2F4%22%2C%22%E2%85%93%22%3A%221%2F3%22%2C%22%E2%85%94%22%3A%222%2F3%22%2C%22%E2%85%95%22%3A%221%2F5%22%2C%22%E2%85%96%22%3A%222%2F5%22%2C%22%E2%85%97%22%3A%223%2F5%22%2C%22%E2%85%98%22%3A%224%2F5%22%2C%22%E2%85%99%22%3A%221%2F6%22%2C%22%E2%85%9A%22%3A%225%2F6%22%2C%22%E2%85%9B%22%3A%221%2F8%22%2C%22%E2%85%9C%22%3A%223%2F8%22%2C%22%E2%85%9D%22%3A%225%2F8%22%2C%22%E2%85%9E%22%3A%227%2F8%22%7D\"));\n\nwindow.tastyRecipesFormatAmount = function(amount, el) {\nif ( parseFloat( amount ) === parseInt( amount ) ) {\nreturn amount;\n}\nvar roundType = 'frac';\nif (typeof el.dataset.amountShouldRound !== 'undefined') {\nif ('false' !== el.dataset.amountShouldRound) {\nif ( 'number' === el.dataset.amountShouldRound ) {\nroundType = 'number';\n} else if ('frac' === el.dataset.amountShouldRound) {\nroundType = 'frac';\n} else if ('vulgar' === el.dataset.amountShouldRound) {\nroundType = 'vulgar';\n} else {\nroundType = 'integer';\n}\n}\n}\nif ('number' === roundType) {\namount = Number.parseFloat(amount).toPrecision(2);\n} else if ('integer' === roundType) {\namount = Math.round(amount);\n} else if ('frac' === roundType || 'vulgar' === roundType) {\nvar denom = 8;\nif (typeof el.dataset.unit !== 'undefined') {\nvar unit = el.dataset.unit;\nif (['cups','cup','c'].includes(unit)) {\ndenom = 4;\nif (0.125 === amount) {\ndenom = 8;\n}\nif (\"0.1667\" === Number.parseFloat( amount ).toPrecision(4)) {\ndenom = 6;\n}\n}\nif (['tablespoons','tablespoon','tbsp'].includes(unit)) {\ndenom = 2;\n}\nif (['teaspoons','teaspoon','tsp'].includes(unit)) {\ndenom = 8;\n}\n}\nvar amountArray = frac.cont( amount, denom, true );\nvar newAmount = '';\nif ( amountArray[1] !== 0 ) {\nnewAmount = amountArray[1] + '\/' + amountArray[2];\nif ('vulgar' === roundType) {\nObject.keys(window.tastyRecipesVulgarFractions).forEach(function(vulgar) {\nif (newAmount === window.tastyRecipesVulgarFractions[vulgar]) {\nnewAmount = vulgar;\n}\n});\n}\n}\nif ( newAmount ) {\nnewAmount = ' ' + newAmount;\n}\nif ( amountArray[0] ) {\nnewAmount = amountArray[0] + newAmount;\n}\namount = newAmount;\n}\nreturn amount;\n};\n\n\nwindow.tastyRecipesUpdatePrintLink = () => {\n\nconst printButton = document.querySelector( '.tasty-recipes-print-button' );\n\n\nif ( ! printButton ) {\nreturn;\n}\n\nconst printURL = new URL( printButton.href );\nconst searchParams = new URLSearchParams( printURL.search );\n\nconst unitButton = document.querySelector( '.tasty-recipes-convert-button-active' );\nconst scaleButton = document.querySelector( '.tasty-recipes-scale-button-active' );\n\nlet unit = '';\nlet scale = '';\n\nif ( unitButton ) {\nunit = unitButton.dataset.unitType;\nsearchParams.delete('unit');\nsearchParams.set( 'unit', unit );\n}\n\nif ( scaleButton ) {\nscale = scaleButton.dataset.amount;\nsearchParams.set( 'scale', scale );\n}\n\nconst paramString = searchParams.toString();\nconst newURL = '' === paramString ? printURL.href : printURL.origin + printURL.pathname + '?' + paramString;\nconst printLinks = document.querySelectorAll( '.tasty-recipes-print-link' );\n\nprintLinks.forEach( ( el ) => {\nel.href = newURL;\n});\n\nconst printButtons = document.querySelectorAll( '.tasty-recipes-print-button' );\nprintButtons.forEach( ( el ) => {\nel.href = newURL;\n});\n};\n\n\ndocument.addEventListener( 'DOMContentLoaded', () => {\n\n\nif ( ! window.location.href.includes( '\/print\/' ) ) {\nreturn;\n}\n\nconst searchParams = new URLSearchParams( window.location.search );\n\nconst unit = searchParams.get( 'unit' );\nconst scale = searchParams.get( 'scale' );\n\nif ( unit && ( 'metric' === unit || 'usc' === unit ) ) {\ndocument.querySelector( '.tasty-recipes-convert-button[data-unit-type=\"' + unit + '\"]' ).click();\n}\n\nif ( scale && Number(scale) > 0 ) {\ndocument.querySelector( '.tasty-recipes-scale-button[data-amount=\"' + Number(scale) + '\"]' ).click();\n}\n});\n}());\n\n(function(){\nvar buttonClass = 'tasty-recipes-scale-button',\nbuttonActiveClass = 'tasty-recipes-scale-button-active',\nbuttons = document.querySelectorAll('.tasty-recipes-scale-button');\nif ( ! buttons ) {\nreturn;\n}\n\nbuttons.forEach(function(button){\nbutton.addEventListener('click', function(event){\nevent.preventDefault();\nvar recipe = event.target.closest('.tasty-recipes');\nif ( ! recipe ) {\nreturn;\n}\nvar otherButtons = recipe.querySelectorAll('.' + buttonClass);\notherButtons.forEach(function(bt){\nbt.classList.remove(buttonActiveClass);\n});\nbutton.classList.add(buttonActiveClass);\n\n\nvar scalables = recipe.querySelectorAll('span[data-amount]');\nvar buttonAmount = parseFloat( button.dataset.amount );\nscalables.forEach(function(scalable){\nif (typeof scalable.dataset.amountOriginalType === 'undefined'\n&& typeof scalable.dataset.nfOriginal === 'undefined') {\nif (-1 !== scalable.innerText.indexOf('\/')) {\nscalable.dataset.amountOriginalType = 'frac';\n}\nif (-1 !== scalable.innerText.indexOf('.')) {\nscalable.dataset.amountOriginalType = 'number';\n}\nObject.keys(window.tastyRecipesVulgarFractions).forEach(function(vulgar) {\nif (-1 !== scalable.innerText.indexOf(vulgar)) {\nscalable.dataset.amountOriginalType = 'vulgar';\n}\n});\nif (typeof scalable.dataset.amountOriginalType !== 'undefined') {\nscalable.dataset.amountShouldRound = scalable.dataset.amountOriginalType;\n}\n}\nvar amount = parseFloat( scalable.dataset.amount ) * buttonAmount;\namount = window.tastyRecipesFormatAmount(amount, scalable);\nif ( typeof scalable.dataset.unit !== 'undefined' ) {\nif ( ! scalable.classList.contains('nutrifox-quantity') ) {\nif ( ! scalable.classList.contains('nutrifox-second-quantity') ) {\namount += ' ' + scalable.dataset.unit;\n}\n}\n}\nscalable.innerText = amount;\n});\n\nvar nonNumerics = recipe.querySelectorAll('[data-has-non-numeric-amount]');\nnonNumerics.forEach(function(nonNumeric){\nvar indicator = nonNumeric.querySelector('span[data-non-numeric-label]');\nif ( indicator ) {\nnonNumeric.removeChild(indicator);\n}\nif ( 1 !== buttonAmount ) {\nindicator = document.createElement('span');\nindicator.setAttribute('data-non-numeric-label', true);\nvar text = document.createTextNode(' (x' + buttonAmount + ')');\nindicator.appendChild(text);\nnonNumeric.appendChild(indicator);\n}\n});\n\nwindow.tastyRecipesUpdatePrintLink();\n});\n});\n}());\n\nwindow.TastyRecipes = window.TastyRecipes || {};\nwindow.TastyRecipes.cookMode = {\nwakeLockApi: false,\nwakeLock: false,\ncookModeSelector: '.tasty-recipes-cook-mode',\ninit() {\nif (\"wakeLock\" in navigator && \"request\" in navigator.wakeLock) {\nthis.wakeLockApi = navigator.wakeLock;\n}\n\nconst cookModes = document.querySelectorAll(this.cookModeSelector);\n\nif (cookModes.length > 0) {\nfor (const cookMode of cookModes) {\nif (this.wakeLockApi) {\ncookMode.querySelector('input[type=\"checkbox\"]').addEventListener(\"change\", event => {\nthis.checkboxChange(event.target);\n}, false);\n} else {\ncookMode.style.display = \"none\";\n}\n}\n}\n},\ncheckboxChange(checkbox) {\nif (checkbox.checked) {\nthis.lock();\n} else {\nthis.unlock();\n}\n},\nsetCheckboxesState(state) {\nconst checkboxes = document.querySelectorAll(this.cookModeSelector + ' input[type=\"checkbox\"]');\nfor (const checkbox of checkboxes) {\ncheckbox.checked = state;\n}\n},\nasync lock() {\ntry {\nthis.wakeLock = await this.wakeLockApi.request(\"screen\");\nthis.wakeLock.addEventListener(\"release\", () => {\nthis.wakeLock = false;\nthis.setCheckboxesState(false);\n});\nthis.setCheckboxesState(true);\n} catch (error) {\nthis.setCheckboxesState(false);\n}\n},\nunlock() {\nif (this.wakeLock) {\nthis.wakeLock.release();\nthis.wakeLock = false;\n}\nthis.setCheckboxesState(false);\n}\n};\n\n(function(callback) {\nif (document.readyState !== \"loading\") {\ncallback();\n} else {\ndocument.addEventListener(\"DOMContentLoaded\", callback);\n}\n})(() => {\nwindow.TastyRecipes.cookMode.init();\n});\n\n\n\nwindow.TastyRecipes = window.TastyRecipes || {};\n\nwindow.TastyRecipes.staticTooltip = {\nelement: null,\ntooltipElement: null,\ndeleting: false,\ninit( element ) {\nif ( this.deleting ) {\nreturn;\n}\nthis.element = element;\nthis.buildElements();\n},\ndestroy() {\nif ( ! this.tooltipElement || this.deleting ) {\nreturn;\n}\n\nthis.deleting = true;\nthis.tooltipElement.classList.remove( 'opened' );\n\nsetTimeout( () => {\nthis.tooltipElement.remove();\nthis.deleting = false;\n}, 500 );\n},\nbuildElements() {\nconst tooltipElement = document.createElement( 'div' );\ntooltipElement.classList.add( 'tasty-recipes-static-tooltip');\ntooltipElement.setAttribute( 'id', 'tasty-recipes-tooltip' );\n\nconst currentTooltipElement = document.getElementById( 'tasty-recipes-tooltip' );\nif ( currentTooltipElement ) {\ndocument.body.replaceChild( tooltipElement, currentTooltipElement );\n} else {\ndocument.body.appendChild( tooltipElement );\n}\n\nthis.tooltipElement = document.getElementById( 'tasty-recipes-tooltip' );\n},\nshow() {\nif ( ! this.tooltipElement ) {\nreturn;\n}\n\nconst tooltipTop = this.element.getBoundingClientRect().top\n+ window.scrollY\n- 10 \/\/ 10px offset.\n- this.tooltipElement.getBoundingClientRect().height;\nconst tooltipLeft = this.element.getBoundingClientRect().left\n- ( this.tooltipElement.getBoundingClientRect().width \/ 2 )\n+ ( this.element.getBoundingClientRect().width \/ 2 ) - 1;\nconst posLeft = Math.max( 10, tooltipLeft );\nthis.maybeRemoveTail( posLeft !== tooltipLeft );\n\nthis.tooltipElement.setAttribute( 'style', 'top:' + tooltipTop + 'px;left:' + posLeft + 'px;' );\nthis.tooltipElement.classList.add( 'opened' );\n\n},\nmaybeRemoveTail( removeTail ) {\nif ( removeTail ) {\nthis.tooltipElement.classList.add( 'tr-hide-tail' );\n} else {\nthis.tooltipElement.classList.remove( 'tr-hide-tail' );\n}\n},\nchangeMessage( message ) {\nif ( ! this.tooltipElement ) {\nreturn;\n}\nthis.tooltipElement.innerHTML = message;\n}\n};\n\nwindow.TastyRecipes.ajax = {\nsendPostRequest( url, data, success, failure ) {\nconst xhr = new XMLHttpRequest();\nxhr.open( 'POST', url, true );\nxhr.send( this.preparePostData( data ) );\n\nxhr.onreadystatechange = () => {\nif ( 4 !== xhr.readyState ) {\nreturn;\n}\nif ( xhr.status === 200 ) {\nsuccess( JSON.parse( xhr.responseText ) );\nreturn;\n}\n\nfailure( xhr );\n};\n\nxhr.onerror = () => {\nfailure( xhr );\n};\n},\npreparePostData( data ) {\nconst formData = new FormData();\n\nfor ( const key in data ) {\nformData.append( key, data[key] );\n}\nreturn formData;\n},\n};\n\nwindow.TastyRecipes.ratings = {\ndefaultRating: 0,\ncurrentRatingPercentage: 100,\nsavingRating: false,\ninit( minRating ) {\nthis.minRating = minRating;\n\nthis.formWatchRating();\nthis.closeTooltipWhenClickOutside();\nthis.addBodyClassBasedOnSelectedRating();\nthis.backwardCompFormRatingPosition();\n},\nformWatchRating() {\nconst ratings = document.querySelectorAll('.tasty-recipes-no-ratings-buttons [data-rating]');\nif ( ratings.length <= 0 ) {\nreturn;\n}\nfor ( const rating of ratings ) {\nrating.addEventListener( 'click', event => {\nevent.preventDefault();\nthis.defaultRating = event.target.closest( '.checked' ).dataset.rating;\nthis.setCheckedStar( event.target );\nthis.maybeSendRating( this.defaultRating, event.target );\nthis.setRatingInForm( this.defaultRating );\n} );\n}\n},\ncloseTooltipWhenClickOutside() {\nwindow.addEventListener( 'click', e => {\n\/\/ Bailout (don't remove the tooltip) when the clicked element is a rating star, or it's the tooltip itself.\nif ( e.target.closest( '.tasty-recipes-rating' ) || e.target.classList.contains( 'tasty-recipes-static-tooltip' ) ) {\nreturn;\n}\n\nwindow.TastyRecipes.staticTooltip.destroy();\n} );\n},\n setRatingInForm( rating ) {\nconst ratingInput = document.querySelector( '#respond .tasty-recipes-rating[value=\"' + rating + '\"]' );\nif ( ! ratingInput ) {\nreturn;\n}\nratingInput.click();\n},\naddBodyClassBasedOnSelectedRating() {\nconst ratingInputs = document.querySelectorAll( 'input.tasty-recipes-rating' );\nif ( ! ratingInputs ) {\nreturn;\n}\nfor ( const ratingInput of ratingInputs ) {\nratingInput.addEventListener( 'click', currentEvent => {\nconst selectedRating = currentEvent.target.getAttribute( 'value' );\nthis.handleBodyClassByRating( selectedRating );\nthis.toggleCommentTextareaRequired( selectedRating );\n} );\n}\n},\nhandleBodyClassByRating( rating ) {\nif ( rating < this.minRating ) {\ndocument.body.classList.remove( 'tasty-recipes-selected-minimum-rating' );\nreturn;\n}\ndocument.body.classList.add( 'tasty-recipes-selected-minimum-rating' );\n},\ntoggleCommentTextareaRequired( rating ) {\nconst commentTextarea = document.getElementById( 'comment' );\nif ( ! commentTextarea ) {\nreturn;\n}\n\nif ( rating < this.minRating ) {\ncommentTextarea.setAttribute( 'required', '' );\nreturn;\n}\n\ncommentTextarea.removeAttribute( 'required' );\n},\nmaybeSendRating( rating, element ) {\nif ( this.savingRating === rating ) {\nreturn;\n}\n\nthis.savingRating = rating;\nwindow.TastyRecipes.staticTooltip.init( element );\n\nconst recipeCardElement = element.closest( '.tasty-recipes' );\nif ( ! recipeCardElement ) {\nwindow.TastyRecipes.staticTooltip.destroy();\nreturn;\n}\n\nwindow.TastyRecipes.ajax.sendPostRequest(\nwindow.trCommon.ajaxurl,\n{\naction: 'tasty_recipes_save_rating',\nrating,\nnonce: window.trCommon.ratingNonce,\npost_id: window.trCommon.postId,\nrecipe_id: recipeCardElement.dataset.trId,\n},\n( response ) => {\nwindow.TastyRecipes.staticTooltip.changeMessage( response.data.message );\nwindow.TastyRecipes.staticTooltip.show();\nthis.updateAverageText( response.data, recipeCardElement );\nthis.maybeFillCommentForm( response.data );\n\n\/\/ Hide the tooltip after 5 seconds.\nsetTimeout( () => {\nthis.maybeResetTooltip( recipeCardElement, response.data, rating );\n}, 5000 );\n},\n() => {\nthis.resetTooltip( recipeCardElement );\n}\n);\n},\nupdateAverageText( data, recipeCardElement ) {\nif ( ! data.average ) {\nreturn;\n}\nthis.setRatingPercent( data );\n\nif ( ! data.count ) {\nreturn;\n}\n\nconst quickLink = document.querySelector( '.tasty-recipes-rating-link' );\nif ( quickLink ) {\nthis.setTextInContainer( quickLink, data );\nthis.setPartialStar( quickLink );\n}\n\nconst cardStars = recipeCardElement.querySelector( '.tasty-recipes-ratings-buttons' );\ncardStars.dataset.trDefaultRating = data.average;\nthis.setTextInContainer( recipeCardElement.querySelector( '.tasty-recipes-rating' ), data );\n},\nsetTextInContainer( container, data ) {\nif ( ! container ) {\nreturn;\n}\n\nif ( data.label ) {\nconst ratingLabelElement = container.querySelector( '.rating-label' );\nif ( ratingLabelElement ) {\nratingLabelElement.innerHTML = data.label;\n}\nreturn;\n}\n\nconst averageElement = container.querySelector( '.average' );\nif ( averageElement ) {\naverageElement.textContent = data.average;\n}\n\nconst countElement = container.querySelector( '.count' );\nif ( countElement ) {\ncountElement.textContent = data.count;\n}\n},\nsetPartialStar( container ) {\nconst highestStar = container.querySelector( '[data-rating=\"' + Math.ceil( this.defaultRating ) + '\"]' );\nif ( highestStar ) {\nhighestStar.dataset.trClip = this.currentRatingPercentage;\n}\n},\nsetRatingPercent( data ) {\nthis.defaultRating = data.average.toFixed( 1 );\nconst parts = data.average.toFixed( 2 ).toString().split( '.' );\nthis.currentRatingPercentage = parts[1] ? parts[1] : 100;\nif ( this.currentRatingPercentage === '00' ) {\nthis.currentRatingPercentage = 100;\n}\n},\nsetCheckedStar( target ) {\nconst cardRatingContainer = target.closest( '.tasty-recipes-ratings-buttons' );\nconst selectedRatingElement = cardRatingContainer.querySelector( '[data-tr-checked]' );\nif ( selectedRatingElement ) {\ndelete selectedRatingElement.dataset.trChecked;\n}\n\nconst thisStar = target.closest( '.tasty-recipes-rating' );\nthisStar.dataset.trChecked = 1;\nthisStar.querySelector( '[data-tr-clip]' ).dataset.trClip = 100;\n},\nmaybeFillCommentForm( data ) {\nif ( ! data.comment || ! data.comment.content ) {\nreturn;\n}\n\nconst commentForm = document.querySelector( '#commentform' );\nif ( ! commentForm ) {\nreturn;\n}\n\nconst commentBox = commentForm.querySelector( '[name=comment]' );\nif ( ! commentBox || commentBox.value ) {\nreturn;\n}\n\n\/\/ Add comment details for editing.\ncommentBox.innerHTML = data.comment.content;\nif ( data.comment.name ) {\ncommentForm.querySelector( '[name=author]' ).value = data.comment.name;\ncommentForm.querySelector( '[name=email]' ).value = data.comment.email;\n}\n},\nmaybeResetTooltip( recipeCardElement, data, rating ) {\nif ( this.savingRating === rating ) {\nthis.resetTooltip( recipeCardElement, data );\n}\n},\nresetTooltip( recipeCardElement, data ) {\nwindow.TastyRecipes.staticTooltip.destroy();\nthis.savingRating = false;\n\n\/\/ Reset the default rating.\nconst cardRatingContainer = recipeCardElement.querySelector( '.tasty-recipes-ratings-buttons' );\nif ( cardRatingContainer ) {\nthis.defaultRating = ( data && data.average ) ? data.average.toFixed(1) : cardRatingContainer.dataset.trDefaultRating;\ncardRatingContainer.dataset.trDefaultRating = this.defaultRating;\n\nthis.resetSelectedStar( cardRatingContainer, data );\n}\n},\nresetSelectedStar( cardRatingContainer ) {\nconst selectedRatingElement = cardRatingContainer.querySelector( '[data-rating=\"' + Math.ceil( this.defaultRating ) + '\"]' );\nif ( selectedRatingElement ) {\nselectedRatingElement.querySelector( '[data-tr-clip]' ).dataset.trClip = this.currentRatingPercentage;\nselectedRatingElement.parentNode.dataset.trChecked = 1;\n}\n\nconst previousSelectedElement= cardRatingContainer.querySelector( '[data-tr-checked]' );\nif ( previousSelectedElement ) {\nconst currentSelectedRating = previousSelectedElement.querySelector('[data-rating]');\nif ( currentSelectedRating !== selectedRatingElement ) {\ndelete previousSelectedElement.dataset.trChecked;\n}\n}\n},\nbackwardCompFormRatingPosition() {\nconst ratingsButtons = document.querySelector( '#respond .tasty-recipes-ratings-buttons, #tasty-recipes-comment-rating .tasty-recipes-ratings-buttons' );\nif ( ! ratingsButtons ) {\nreturn;\n}\nconst ratingsButtonsStyles = window.getComputedStyle(ratingsButtons);\nif ( ! ratingsButtonsStyles.display.includes( 'flex' ) ) {\nratingsButtons.style.direction = 'rtl';\n}\n\nif ( typeof tastyRecipesRating !== 'undefined' ) {\n\/\/ Select the rating that was previously selected in admin.\nratingsButtons.querySelector( '.tasty-recipes-rating[value=\"' + tastyRecipesRating + '\"]' ).checked = true;\n}\n\nconst ratingSpans = ratingsButtons.querySelectorAll( '.tasty-recipes-rating' );\nfor (const ratingSpan of ratingSpans) {\nratingSpan.addEventListener( 'click', event => {\nif ( ratingSpan === event.target ) {\nreturn;\n}\nratingSpan.previousElementSibling.click();\n} );\n}\n}\n};\n\n(function(callback) {\nif (document.readyState !== \"loading\") {\ncallback();\n} else {\nwindow.addEventListener( 'load', callback );\n}\n})(() => {\nwindow.TastyRecipes.ratings.init( window.trCommon ? window.trCommon.minRating : 4 );\n});\n<\/script><\/div>\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"790\" height=\"1185\" src=\"https:\/\/www.thehealthymaven.com\/wp-content\/uploads\/2024\/02\/chipotle-sofritas-10.jpg\" alt=\"chipotle sofritas on corn tortillas with guacamole, lime + corn.\" class=\"wp-image-57189\" srcset=\"https:\/\/www.thehealthymaven.com\/wp-content\/uploads\/2024\/02\/chipotle-sofritas-10.jpg 790w, https:\/\/www.thehealthymaven.com\/wp-content\/uploads\/2024\/02\/chipotle-sofritas-10-200x300.jpg 200w, https:\/\/www.thehealthymaven.com\/wp-content\/uploads\/2024\/02\/chipotle-sofritas-10-768x1152.jpg 768w, https:\/\/www.thehealthymaven.com\/wp-content\/uploads\/2024\/02\/chipotle-sofritas-10-400x600.jpg 400w, https:\/\/www.thehealthymaven.com\/wp-content\/uploads\/2024\/02\/chipotle-sofritas-10-150x225.jpg 150w\" sizes=\"(max-width: 790px) 100vw, 790px\" \/><\/figure>\n\n","protected":false},"excerpt":{"rendered":"<p>Transform tofu into the most delicious Chipotle Sofritas recipe. This copycat recipe tastes just like Chipotle with all the smoky,&hellip;<\/p>\n","protected":false},"author":2,"featured_media":57190,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_stopmodifiedupdate":false,"_modified_date":"","footnotes":""},"categories":[20549,39,37,32,451],"tags":[6961,6958,6959,6960],"class_list":{"2":"type-post"},"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.0 (Yoast SEO v27.0) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Copycat Chipotle Sofritas [Spicy Tofu] - The Healthy Maven<\/title>\n<meta name=\"description\" content=\"Transform tofu into the most delicious Chipotle Sofritas recipe. This copycat recipe tastes just like Chipotle with all the smoky, meaty flavor!\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.thehealthymaven.com\/chipotle-sofritas\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Chipotle Sofritas\" \/>\n<meta property=\"og:description\" content=\"Transform tofu into the most delicious Chipotle Sofritas recipe. This copycat recipe tastes just like Chipotle with all the smoky, meaty flavor!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.thehealthymaven.com\/chipotle-sofritas\/\" \/>\n<meta property=\"og:site_name\" content=\"The Healthy Maven\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/thehealthymaven\" \/>\n<meta property=\"article:author\" content=\"www.facebook.com\/thehealthymaven\" \/>\n<meta property=\"article:published_time\" content=\"2024-06-06T09:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-11-07T21:29:15+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.thehealthymaven.com\/wp-content\/uploads\/2024\/06\/chipotle-sofritas-13.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1185\" \/>\n\t<meta property=\"og:image:height\" content=\"1185\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Davida Lederle\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Davida Lederle\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.thehealthymaven.com\/chipotle-sofritas\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.thehealthymaven.com\/chipotle-sofritas\/\"},\"author\":{\"name\":\"Davida Lederle\",\"@id\":\"https:\/\/www.thehealthymaven.com\/#\/schema\/person\/acb6d9e44f9b367e4df8265d69a7dea1\"},\"headline\":\"Chipotle Sofritas\",\"datePublished\":\"2024-06-06T09:00:00+00:00\",\"dateModified\":\"2024-11-07T21:29:15+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.thehealthymaven.com\/chipotle-sofritas\/\"},\"wordCount\":845,\"commentCount\":1,\"publisher\":{\"@id\":\"https:\/\/www.thehealthymaven.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.thehealthymaven.com\/chipotle-sofritas\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.thehealthymaven.com\/wp-content\/uploads\/2024\/06\/chipotle-sofritas-13.jpg\",\"keywords\":[\"Dairy-free\",\"Gluten-free\",\"Vegan\",\"Vegetarian\"],\"articleSection\":[\"30 Minute Meals\",\"Dinner Recipes\",\"Gluten-Free Recipes\",\"Vegan Recipes\",\"Vegetarian Recipes\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.thehealthymaven.com\/chipotle-sofritas\/#respond\"]}]},{\"@type\":[\"WebPage\",\"FAQPage\"],\"@id\":\"https:\/\/www.thehealthymaven.com\/chipotle-sofritas\/\",\"url\":\"https:\/\/www.thehealthymaven.com\/chipotle-sofritas\/\",\"name\":\"Copycat Chipotle Sofritas [Spicy Tofu] - The Healthy Maven\",\"isPartOf\":{\"@id\":\"https:\/\/www.thehealthymaven.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.thehealthymaven.com\/chipotle-sofritas\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.thehealthymaven.com\/chipotle-sofritas\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.thehealthymaven.com\/wp-content\/uploads\/2024\/06\/chipotle-sofritas-13.jpg\",\"datePublished\":\"2024-06-06T09:00:00+00:00\",\"dateModified\":\"2024-11-07T21:29:15+00:00\",\"description\":\"Transform tofu into the most delicious Chipotle Sofritas recipe. This copycat recipe tastes just like Chipotle with all the smoky, meaty flavor!\",\"breadcrumb\":{\"@id\":\"https:\/\/www.thehealthymaven.com\/chipotle-sofritas\/#breadcrumb\"},\"mainEntity\":[{\"@id\":\"https:\/\/www.thehealthymaven.com\/chipotle-sofritas\/#faq-question-1707494708849\"},{\"@id\":\"https:\/\/www.thehealthymaven.com\/chipotle-sofritas\/#faq-question-1707494765298\"},{\"@id\":\"https:\/\/www.thehealthymaven.com\/chipotle-sofritas\/#faq-question-1707494791526\"},{\"@id\":\"https:\/\/www.thehealthymaven.com\/chipotle-sofritas\/#faq-question-1731014756040\"},{\"@id\":\"https:\/\/www.thehealthymaven.com\/chipotle-sofritas\/#faq-question-1707494841846\"},{\"@id\":\"https:\/\/www.thehealthymaven.com\/chipotle-sofritas\/#faq-question-1707494874918\"}],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.thehealthymaven.com\/chipotle-sofritas\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.thehealthymaven.com\/chipotle-sofritas\/#primaryimage\",\"url\":\"https:\/\/www.thehealthymaven.com\/wp-content\/uploads\/2024\/06\/chipotle-sofritas-13.jpg\",\"contentUrl\":\"https:\/\/www.thehealthymaven.com\/wp-content\/uploads\/2024\/06\/chipotle-sofritas-13.jpg\",\"width\":1185,\"height\":1185,\"caption\":\"sofritas chipotle in a cast-iron skillet.\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.thehealthymaven.com\/chipotle-sofritas\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.thehealthymaven.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Dinner Recipes\",\"item\":\"https:\/\/www.thehealthymaven.com\/category\/dinner\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Chipotle Sofritas\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.thehealthymaven.com\/#website\",\"url\":\"https:\/\/www.thehealthymaven.com\/\",\"name\":\"The Healthy Maven\",\"description\":\"-where healthy meets living-\",\"publisher\":{\"@id\":\"https:\/\/www.thehealthymaven.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.thehealthymaven.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.thehealthymaven.com\/#organization\",\"name\":\"The Healthy Maven LLC\",\"url\":\"https:\/\/www.thehealthymaven.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.thehealthymaven.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.thehealthymaven.com\/wp-content\/uploads\/2024\/01\/the-healthy-maven-default-image.jpg\",\"contentUrl\":\"https:\/\/www.thehealthymaven.com\/wp-content\/uploads\/2024\/01\/the-healthy-maven-default-image.jpg\",\"width\":696,\"height\":696,\"caption\":\"The Healthy Maven LLC\"},\"image\":{\"@id\":\"https:\/\/www.thehealthymaven.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/thehealthymaven\",\"https:\/\/x.com\/thehealthymaven\",\"https:\/\/www.instagram.com\/thehealthymaven\",\"https:\/\/www.pinterest.com\/thehealthymaven\",\"https:\/\/www.youtube.com\/channel\/UCyK5nQt0c37nilRzVBRXv6g\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.thehealthymaven.com\/#\/schema\/person\/acb6d9e44f9b367e4df8265d69a7dea1\",\"name\":\"Davida Lederle\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.thehealthymaven.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/35fd0c7c207f10c54f4afab6334ed776b428660e339583e2b0fe1de68ffa7d2d?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/35fd0c7c207f10c54f4afab6334ed776b428660e339583e2b0fe1de68ffa7d2d?s=96&d=mm&r=g\",\"caption\":\"Davida Lederle\"},\"description\":\"Welcome to The Healthy Maven! I'm Davida and I've been food blogging for over a decade. I'm also a certified herbalist, yoga instructor and major health junkie. My goal is to help you live healthFULLY rather than living for your health. I provide simple and nutritious recipes, clean beauty and lifestyle tips so you can live well.\",\"sameAs\":[\"https:\/\/www.thehealthymaven.com\/author\/davida\/\",\"www.facebook.com\/thehealthymaven\",\"www.instagram.com\/thehealthymaven\",\"https:\/\/x.com\/TheHealthyMaven\"],\"knowsAbout\":[\"cooking\",\"food blogging\",\"yoga\",\"clean beauty\"],\"url\":\"https:\/\/www.thehealthymaven.com\/author\/davida\/\"},{\"@type\":\"Question\",\"@id\":\"https:\/\/www.thehealthymaven.com\/chipotle-sofritas\/#faq-question-1707494708849\",\"position\":1,\"url\":\"https:\/\/www.thehealthymaven.com\/chipotle-sofritas\/#faq-question-1707494708849\",\"name\":\"Can I use a blender instead of a food processor?\",\"answerCount\":1,\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Absolutely! A high-speed blender can be used in place of a food processor. Just add all your ingredients and blend until smooth.\",\"inLanguage\":\"en-US\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Question\",\"@id\":\"https:\/\/www.thehealthymaven.com\/chipotle-sofritas\/#faq-question-1707494765298\",\"position\":2,\"url\":\"https:\/\/www.thehealthymaven.com\/chipotle-sofritas\/#faq-question-1707494765298\",\"name\":\"Can I add veggies?\",\"answerCount\":1,\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"For sure. You can easily stir your favorite veggies into the sofritas sauce either with or in place of the tofu.\",\"inLanguage\":\"en-US\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Question\",\"@id\":\"https:\/\/www.thehealthymaven.com\/chipotle-sofritas\/#faq-question-1707494791526\",\"position\":3,\"url\":\"https:\/\/www.thehealthymaven.com\/chipotle-sofritas\/#faq-question-1707494791526\",\"name\":\"Do I need to use a tofu press?\",\"answerCount\":1,\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"No. Simply place your tofu between two pieces of paper towel and use your body weight or a heavy object to squeeze out all excess moisture. Do not skip this step though!\",\"inLanguage\":\"en-US\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Question\",\"@id\":\"https:\/\/www.thehealthymaven.com\/chipotle-sofritas\/#faq-question-1731014756040\",\"position\":4,\"url\":\"https:\/\/www.thehealthymaven.com\/chipotle-sofritas\/#faq-question-1731014756040\",\"name\":\"Do I have to roast my tofu first?\",\"answerCount\":1,\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"I'd recommend it. Otherwise your tofu will break down in the sofritas sauce and we want it to hold together a bit so it has a meaty texture.\",\"inLanguage\":\"en-US\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Question\",\"@id\":\"https:\/\/www.thehealthymaven.com\/chipotle-sofritas\/#faq-question-1707494841846\",\"position\":5,\"url\":\"https:\/\/www.thehealthymaven.com\/chipotle-sofritas\/#faq-question-1707494841846\",\"name\":\"Can I double this recipe?\",\"answerCount\":1,\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Absolutely. This recipe can easily be doubled or tripled.\",\"inLanguage\":\"en-US\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Question\",\"@id\":\"https:\/\/www.thehealthymaven.com\/chipotle-sofritas\/#faq-question-1707494874918\",\"position\":6,\"url\":\"https:\/\/www.thehealthymaven.com\/chipotle-sofritas\/#faq-question-1707494874918\",\"name\":\"Can I freeze sofritas?\",\"answerCount\":1,\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Yes! This recipe freezes well. See instructions below.\",\"inLanguage\":\"en-US\"},\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Copycat Chipotle Sofritas [Spicy Tofu] - The Healthy Maven","description":"Transform tofu into the most delicious Chipotle Sofritas recipe. This copycat recipe tastes just like Chipotle with all the smoky, meaty flavor!","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.thehealthymaven.com\/chipotle-sofritas\/","og_locale":"en_US","og_type":"article","og_title":"Chipotle Sofritas","og_description":"Transform tofu into the most delicious Chipotle Sofritas recipe. This copycat recipe tastes just like Chipotle with all the smoky, meaty flavor!","og_url":"https:\/\/www.thehealthymaven.com\/chipotle-sofritas\/","og_site_name":"The Healthy Maven","article_publisher":"https:\/\/www.facebook.com\/thehealthymaven","article_author":"www.facebook.com\/thehealthymaven","article_published_time":"2024-06-06T09:00:00+00:00","article_modified_time":"2024-11-07T21:29:15+00:00","og_image":[{"width":1185,"height":1185,"url":"https:\/\/www.thehealthymaven.com\/wp-content\/uploads\/2024\/06\/chipotle-sofritas-13.jpg","type":"image\/jpeg"}],"author":"Davida Lederle","twitter_misc":{"Written by":"Davida Lederle","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.thehealthymaven.com\/chipotle-sofritas\/#article","isPartOf":{"@id":"https:\/\/www.thehealthymaven.com\/chipotle-sofritas\/"},"author":{"name":"Davida Lederle","@id":"https:\/\/www.thehealthymaven.com\/#\/schema\/person\/acb6d9e44f9b367e4df8265d69a7dea1"},"headline":"Chipotle Sofritas","datePublished":"2024-06-06T09:00:00+00:00","dateModified":"2024-11-07T21:29:15+00:00","mainEntityOfPage":{"@id":"https:\/\/www.thehealthymaven.com\/chipotle-sofritas\/"},"wordCount":845,"commentCount":1,"publisher":{"@id":"https:\/\/www.thehealthymaven.com\/#organization"},"image":{"@id":"https:\/\/www.thehealthymaven.com\/chipotle-sofritas\/#primaryimage"},"thumbnailUrl":"https:\/\/www.thehealthymaven.com\/wp-content\/uploads\/2024\/06\/chipotle-sofritas-13.jpg","keywords":["Dairy-free","Gluten-free","Vegan","Vegetarian"],"articleSection":["30 Minute Meals","Dinner Recipes","Gluten-Free Recipes","Vegan Recipes","Vegetarian Recipes"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.thehealthymaven.com\/chipotle-sofritas\/#respond"]}]},{"@type":["WebPage","FAQPage"],"@id":"https:\/\/www.thehealthymaven.com\/chipotle-sofritas\/","url":"https:\/\/www.thehealthymaven.com\/chipotle-sofritas\/","name":"Copycat Chipotle Sofritas [Spicy Tofu] - The Healthy Maven","isPartOf":{"@id":"https:\/\/www.thehealthymaven.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.thehealthymaven.com\/chipotle-sofritas\/#primaryimage"},"image":{"@id":"https:\/\/www.thehealthymaven.com\/chipotle-sofritas\/#primaryimage"},"thumbnailUrl":"https:\/\/www.thehealthymaven.com\/wp-content\/uploads\/2024\/06\/chipotle-sofritas-13.jpg","datePublished":"2024-06-06T09:00:00+00:00","dateModified":"2024-11-07T21:29:15+00:00","description":"Transform tofu into the most delicious Chipotle Sofritas recipe. This copycat recipe tastes just like Chipotle with all the smoky, meaty flavor!","breadcrumb":{"@id":"https:\/\/www.thehealthymaven.com\/chipotle-sofritas\/#breadcrumb"},"mainEntity":[{"@id":"https:\/\/www.thehealthymaven.com\/chipotle-sofritas\/#faq-question-1707494708849"},{"@id":"https:\/\/www.thehealthymaven.com\/chipotle-sofritas\/#faq-question-1707494765298"},{"@id":"https:\/\/www.thehealthymaven.com\/chipotle-sofritas\/#faq-question-1707494791526"},{"@id":"https:\/\/www.thehealthymaven.com\/chipotle-sofritas\/#faq-question-1731014756040"},{"@id":"https:\/\/www.thehealthymaven.com\/chipotle-sofritas\/#faq-question-1707494841846"},{"@id":"https:\/\/www.thehealthymaven.com\/chipotle-sofritas\/#faq-question-1707494874918"}],"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.thehealthymaven.com\/chipotle-sofritas\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.thehealthymaven.com\/chipotle-sofritas\/#primaryimage","url":"https:\/\/www.thehealthymaven.com\/wp-content\/uploads\/2024\/06\/chipotle-sofritas-13.jpg","contentUrl":"https:\/\/www.thehealthymaven.com\/wp-content\/uploads\/2024\/06\/chipotle-sofritas-13.jpg","width":1185,"height":1185,"caption":"sofritas chipotle in a cast-iron skillet."},{"@type":"BreadcrumbList","@id":"https:\/\/www.thehealthymaven.com\/chipotle-sofritas\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.thehealthymaven.com\/"},{"@type":"ListItem","position":2,"name":"Dinner Recipes","item":"https:\/\/www.thehealthymaven.com\/category\/dinner\/"},{"@type":"ListItem","position":3,"name":"Chipotle Sofritas"}]},{"@type":"WebSite","@id":"https:\/\/www.thehealthymaven.com\/#website","url":"https:\/\/www.thehealthymaven.com\/","name":"The Healthy Maven","description":"-where healthy meets living-","publisher":{"@id":"https:\/\/www.thehealthymaven.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.thehealthymaven.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.thehealthymaven.com\/#organization","name":"The Healthy Maven LLC","url":"https:\/\/www.thehealthymaven.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.thehealthymaven.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.thehealthymaven.com\/wp-content\/uploads\/2024\/01\/the-healthy-maven-default-image.jpg","contentUrl":"https:\/\/www.thehealthymaven.com\/wp-content\/uploads\/2024\/01\/the-healthy-maven-default-image.jpg","width":696,"height":696,"caption":"The Healthy Maven LLC"},"image":{"@id":"https:\/\/www.thehealthymaven.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/thehealthymaven","https:\/\/x.com\/thehealthymaven","https:\/\/www.instagram.com\/thehealthymaven","https:\/\/www.pinterest.com\/thehealthymaven","https:\/\/www.youtube.com\/channel\/UCyK5nQt0c37nilRzVBRXv6g\/"]},{"@type":"Person","@id":"https:\/\/www.thehealthymaven.com\/#\/schema\/person\/acb6d9e44f9b367e4df8265d69a7dea1","name":"Davida Lederle","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.thehealthymaven.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/35fd0c7c207f10c54f4afab6334ed776b428660e339583e2b0fe1de68ffa7d2d?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/35fd0c7c207f10c54f4afab6334ed776b428660e339583e2b0fe1de68ffa7d2d?s=96&d=mm&r=g","caption":"Davida Lederle"},"description":"Welcome to The Healthy Maven! I'm Davida and I've been food blogging for over a decade. I'm also a certified herbalist, yoga instructor and major health junkie. My goal is to help you live healthFULLY rather than living for your health. I provide simple and nutritious recipes, clean beauty and lifestyle tips so you can live well.","sameAs":["https:\/\/www.thehealthymaven.com\/author\/davida\/","www.facebook.com\/thehealthymaven","www.instagram.com\/thehealthymaven","https:\/\/x.com\/TheHealthyMaven"],"knowsAbout":["cooking","food blogging","yoga","clean beauty"],"url":"https:\/\/www.thehealthymaven.com\/author\/davida\/"},{"@type":"Question","@id":"https:\/\/www.thehealthymaven.com\/chipotle-sofritas\/#faq-question-1707494708849","position":1,"url":"https:\/\/www.thehealthymaven.com\/chipotle-sofritas\/#faq-question-1707494708849","name":"Can I use a blender instead of a food processor?","answerCount":1,"acceptedAnswer":{"@type":"Answer","text":"Absolutely! A high-speed blender can be used in place of a food processor. Just add all your ingredients and blend until smooth.","inLanguage":"en-US"},"inLanguage":"en-US"},{"@type":"Question","@id":"https:\/\/www.thehealthymaven.com\/chipotle-sofritas\/#faq-question-1707494765298","position":2,"url":"https:\/\/www.thehealthymaven.com\/chipotle-sofritas\/#faq-question-1707494765298","name":"Can I add veggies?","answerCount":1,"acceptedAnswer":{"@type":"Answer","text":"For sure. You can easily stir your favorite veggies into the sofritas sauce either with or in place of the tofu.","inLanguage":"en-US"},"inLanguage":"en-US"},{"@type":"Question","@id":"https:\/\/www.thehealthymaven.com\/chipotle-sofritas\/#faq-question-1707494791526","position":3,"url":"https:\/\/www.thehealthymaven.com\/chipotle-sofritas\/#faq-question-1707494791526","name":"Do I need to use a tofu press?","answerCount":1,"acceptedAnswer":{"@type":"Answer","text":"No. Simply place your tofu between two pieces of paper towel and use your body weight or a heavy object to squeeze out all excess moisture. Do not skip this step though!","inLanguage":"en-US"},"inLanguage":"en-US"},{"@type":"Question","@id":"https:\/\/www.thehealthymaven.com\/chipotle-sofritas\/#faq-question-1731014756040","position":4,"url":"https:\/\/www.thehealthymaven.com\/chipotle-sofritas\/#faq-question-1731014756040","name":"Do I have to roast my tofu first?","answerCount":1,"acceptedAnswer":{"@type":"Answer","text":"I'd recommend it. Otherwise your tofu will break down in the sofritas sauce and we want it to hold together a bit so it has a meaty texture.","inLanguage":"en-US"},"inLanguage":"en-US"},{"@type":"Question","@id":"https:\/\/www.thehealthymaven.com\/chipotle-sofritas\/#faq-question-1707494841846","position":5,"url":"https:\/\/www.thehealthymaven.com\/chipotle-sofritas\/#faq-question-1707494841846","name":"Can I double this recipe?","answerCount":1,"acceptedAnswer":{"@type":"Answer","text":"Absolutely. This recipe can easily be doubled or tripled.","inLanguage":"en-US"},"inLanguage":"en-US"},{"@type":"Question","@id":"https:\/\/www.thehealthymaven.com\/chipotle-sofritas\/#faq-question-1707494874918","position":6,"url":"https:\/\/www.thehealthymaven.com\/chipotle-sofritas\/#faq-question-1707494874918","name":"Can I freeze sofritas?","answerCount":1,"acceptedAnswer":{"@type":"Answer","text":"Yes! This recipe freezes well. See instructions below.","inLanguage":"en-US"},"inLanguage":"en-US"}]}},"_links":{"self":[{"href":"https:\/\/www.thehealthymaven.com\/wp-json\/wp\/v2\/posts\/55728","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.thehealthymaven.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.thehealthymaven.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.thehealthymaven.com\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.thehealthymaven.com\/wp-json\/wp\/v2\/comments?post=55728"}],"version-history":[{"count":2,"href":"https:\/\/www.thehealthymaven.com\/wp-json\/wp\/v2\/posts\/55728\/revisions"}],"predecessor-version":[{"id":58353,"href":"https:\/\/www.thehealthymaven.com\/wp-json\/wp\/v2\/posts\/55728\/revisions\/58353"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.thehealthymaven.com\/wp-json\/wp\/v2\/media\/57190"}],"wp:attachment":[{"href":"https:\/\/www.thehealthymaven.com\/wp-json\/wp\/v2\/media?parent=55728"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.thehealthymaven.com\/wp-json\/wp\/v2\/categories?post=55728"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.thehealthymaven.com\/wp-json\/wp\/v2\/tags?post=55728"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}