{"id":21778,"date":"2024-09-29T00:00:00","date_gmt":"2024-09-29T04:00:00","guid":{"rendered":"http:\/\/www.theleangreenbean.com\/?p=21778"},"modified":"2025-05-05T11:57:46","modified_gmt":"2025-05-05T15:57:46","slug":"broccoli-pesto-pasta","status":"publish","type":"post","link":"https:\/\/www.theleangreenbean.com\/broccoli-pesto-pasta\/","title":{"rendered":"Broccoli Pesto Pasta"},"content":{"rendered":"\n<p><em>This Broccoli Pesto Pasta is easy to make and perfect for a quick weeknight dinner. Pair with chicken for extra protein and customize with your favorite veggies. <\/em><\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"680\" height=\"1020\" src=\"https:\/\/www.theleangreenbean.com\/wp-content\/uploads\/2016\/05\/broccoli-pesto-pasta-4.jpg\" alt=\"broccoli pesto pasta with chicken\" class=\"wp-image-43412\" title=\"\" srcset=\"https:\/\/www.theleangreenbean.com\/wp-content\/uploads\/2016\/05\/broccoli-pesto-pasta-4.jpg 680w, https:\/\/www.theleangreenbean.com\/wp-content\/uploads\/2016\/05\/broccoli-pesto-pasta-4-133x200.jpg 133w, https:\/\/www.theleangreenbean.com\/wp-content\/uploads\/2016\/05\/broccoli-pesto-pasta-4-367x550.jpg 367w\" sizes=\"auto, (max-width: 680px) 100vw, 680px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"has-text-align-center\"><em>*Originally published 5\/2016. Updated 9\/2024.*<\/em><\/p>\n\n\n\n<p>Hi Friends!<\/p>\n\n\n\n<p>This broccoli pesto pasta recipe has been on the blog for years now but I recently made it and decided it was time to breathe some new life into the post!<\/p>\n\n\n\n<p>It&#8217;s a fun twist on traditional pesto and super easy to make at home. Add some pasta, chicken and your veggies and boom! Dinner is served. Or if you don&#8217;t have broccoli, try this <a href=\"https:\/\/www.theleangreenbean.com\/creamy-tomato-chicken-pasta\/\">Creamy Tomato Chicken Pasta<\/a> instead!<\/p>\n\n\n\n<p>Broccoli works well in this recipe because it&#8217;s green and blends seamlessly into a typical pesto recipe. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Broccoli Pesto Pasta Ingredients<\/h2>\n\n\n\n<p>You only need a few ingredients to make the broccoli pesto:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Fresh basil<\/strong> &#8211; This recipe only uses about 1 cup. If you&#8217;re not growing it in your garden, it can be tricky to find at the grocery store so I didn&#8217;t want to require you to find a huge amount!<\/li>\n\n\n\n<li><strong>Garlic<\/strong> &#8211; You can control the number of cloves you add depending on how strong of a garlic flavor you like. I use 3 cloves but if you want a more subtle flavor you can use 2 or even 1. <\/li>\n\n\n\n<li><strong>Oil<\/strong> &#8211; I use avocado oil but olive oil also works great.<\/li>\n\n\n\n<li><strong>Pumpkin Seeds\/Pepitas<\/strong> &#8211; I know pine nuts are expensive so this recipe uses pepitas because it&#8217;s something I always have on hand to add to my smoothies. You could also try sunflower seeds or even cashews or almonds.<\/li>\n\n\n\n<li><strong>Parmesan cheese <\/strong>&#8211; I buy a block and shred my own but you could buy it already grated if you need to.<\/li>\n\n\n\n<li><strong>Broccoli<\/strong> &#8211; I&#8217;ve found fresh broccoli to work best in this recipe. Frozen broccoli steamed in the microwave tends to add a bit too much water.<\/li>\n\n\n\n<li><strong>Pasta water<\/strong> &#8211; In this recipe, you cook the broccoli in boiling water and then remove it and add the noodles. After the noodles are cooked, save just a bit of the water to add to the pesto at the end. It&#8217;s filled with starch and will help bring everything together.<\/li>\n\n\n\n<li><strong>Salt<\/strong> &#8211; to taste!<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"680\" height=\"1020\" src=\"https:\/\/www.theleangreenbean.com\/wp-content\/uploads\/2016\/05\/broccoli-pesto-pasta-6.jpg\" alt=\"broccoli pesto\" class=\"wp-image-43414\" title=\"\" srcset=\"https:\/\/www.theleangreenbean.com\/wp-content\/uploads\/2016\/05\/broccoli-pesto-pasta-6.jpg 680w, https:\/\/www.theleangreenbean.com\/wp-content\/uploads\/2016\/05\/broccoli-pesto-pasta-6-133x200.jpg 133w, https:\/\/www.theleangreenbean.com\/wp-content\/uploads\/2016\/05\/broccoli-pesto-pasta-6-367x550.jpg 367w\" sizes=\"auto, (max-width: 680px) 100vw, 680px\" \/><\/figure>\n<\/div>\n\n\n<h2 class=\"wp-block-heading\">How To Make Pasta with Broccoli Pesto<\/h2>\n\n\n\n<p>To make this pesto all you really need is a food processor. I&#8217;ve tried making this in a blender but since there&#8217;s not that much liquid, it can be tricky. <\/p>\n\n\n\n<p>So grab your food processor, (big or small!) and add all ingredients except the pasta water. Blend until smooth. Slowly add the pasta water until the pesto is your desired consistency. I use about 1\/4 cup. Then toss with your favorite pasta!<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"680\" height=\"1020\" src=\"https:\/\/www.theleangreenbean.com\/wp-content\/uploads\/2016\/05\/broccoli-pesto-pasta-3.jpg\" alt=\"broccoli pesto pasta with chicken\" class=\"wp-image-43415\" title=\"\" srcset=\"https:\/\/www.theleangreenbean.com\/wp-content\/uploads\/2016\/05\/broccoli-pesto-pasta-3.jpg 680w, https:\/\/www.theleangreenbean.com\/wp-content\/uploads\/2016\/05\/broccoli-pesto-pasta-3-133x200.jpg 133w, https:\/\/www.theleangreenbean.com\/wp-content\/uploads\/2016\/05\/broccoli-pesto-pasta-3-367x550.jpg 367w\" sizes=\"auto, (max-width: 680px) 100vw, 680px\" \/><\/figure>\n<\/div>\n\n\n<h2 class=\"wp-block-heading\">Chicken Broccoli Pesto Pasta<\/h2>\n\n\n\n<p>In my opinion, chicken and roasted veggies are the perfect addition to this recipe. They pair well with the flavors of pesto and the chicken adds protein to the dish helping to round it out and make it a complete meal.<\/p>\n\n\n\n<p>This Broccoli Pesto would be a great sub for regular pesto in my <a href=\"https:\/\/www.theleangreenbean.com\/slow-cooker-pesto-chicken-tortellini\/\">Slow Cooker Pesto Chicken Tortellini<\/a> or my <a href=\"https:\/\/www.theleangreenbean.com\/pesto-chicken-quinoa-bowls\/\">Pesto Chicken Quinoa Bowls<\/a>. Or try this <a href=\"https:\/\/www.budgetbytes.com\/one-pot-creamy-pesto-chicken-pasta\/\" target=\"_blank\" rel=\"noopener\">One Pot Creamy Pesto Chicken Pasta<\/a>.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Broccoli Pesto Pasta Recipe<\/h2>\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\" \/>\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.theleangreenbean.com\/broccoli-pesto-pasta\/print\/33619\/\">Print<\/a><span class=\"tasty-recipes-jump-target\" id=\"tasty-recipes-33619-jump-target\" style=\"display:block;padding-top:2px;margin-top:-2px;\"><\/span><div id=\"tasty-recipes-33619\" data-tr-id=\"33619\" class=\"tasty-recipes tasty-recipes-33619 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\">Broccoli Pesto Pasta<\/h2>\n<div class=\"tasty-recipes-image-button-container\">\n\t\t\t<div class=\"tasty-recipes-image\">\n\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"150\" height=\"150\" src=\"https:\/\/www.theleangreenbean.com\/wp-content\/uploads\/2016\/05\/broccoli-pesto-pasta-6-copy-150x150.jpg\" class=\"attachment-thumbnail size-thumbnail\" alt=\"easy broccoli pesto pasta\" data-pin-nopin=\"true\" title=\"\">\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.theleangreenbean.com\/broccoli-pesto-pasta\/print\/33619\/\" 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\" \/>\n<\/symbol>\n<\/defs>\n<\/svg>\n<span class=\"tasty-recipes-ratings-buttons tasty-recipes-no-ratings-buttons\"\tdata-tr-default-rating=\"0\"\t>\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\" \/><\/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\" \/><\/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\" \/><\/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\" \/><\/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\" \/><\/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>This Broccoli Pesto Pasta is easy to make and perfect for a quick weeknight dinner. Pair with chicken for extra protein and customize with your favorite veggies.\u00a0<\/em><\/p>\n\t<\/div>\n\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\" data-unit=\"cup\">1 cup<\/span> fresh basil leaves, loosely packed<\/li>\n<li><span data-amount=\"2\">2<\/span>&#8211;<span data-amount=\"3\">3<\/span> cloves garlic (depending on how strong you want the garlic flavor)<\/li>\n<li><span data-amount=\"0.33333333333333\" data-unit=\"cup\">1\/3 cup<\/span> oil (avocado oil or extra virgin olive oil)<\/li>\n<li><span data-amount=\"0.33333333333333\" data-unit=\"cup\">1\/3 cup<\/span> pepitas (or pine nuts or sunflower seeds)<\/li>\n<li><span data-amount=\"0.5\" data-unit=\"cup\">1\/2 cup<\/span> Parmesan cheese<\/li>\n<li><span data-amount=\"2\" data-unit=\"cup\">2 cups<\/span> fresh broccoli florets<\/li>\n<li><span data-amount=\"0.5\" data-unit=\"cup\">1\/2 cup<\/span> pasta water, reserved<\/li>\n<li>pasta<\/li>\n<li><span data-amount=\"1\">1<\/span> box orecchiette pasta, boiled<\/li>\n<li><span data-amount=\"0.33333333333333\" data-unit=\"cup\">1\/3 cup<\/span> crumbled feta cheese<\/li>\n<li><span data-amount=\"0.33333333333333\" data-unit=\"cup\">\u2153 cup<\/span> pine nuts<\/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_696e57732357b_cookmode\">\n\t\t\t<span class=\"tasty-recipes-cook-mode__switch-slider tasty-recipes-cook-mode__switch-round\"\n\t\t\t\tdata-tasty-recipes-customization=\"button-color.background button-text-color.color\"><\/span>\n\t\t<\/label>\n\t\t<label for=\"tasty_recipes_696e57732357b_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<div style=\"color: #222222;font-family: Arial, Helvetica, sans-serif;font-size: small\">\n<ol>\n<li id=\"instruction-step-1\" style=\"margin-left: 15px\">Bring a pot of water to a boil.<\/li>\n<li id=\"instruction-step-2\" style=\"margin-left: 15px\">Add 2 cups broccoli and let cook for 2 minutes.<\/li>\n<li id=\"instruction-step-3\" style=\"margin-left: 15px\">Remove with a slotted spoon and run under cold water to stop cooking.<\/li>\n<li id=\"instruction-step-4\" style=\"margin-left: 15px\">Add pasta to the water and cook according\u00a0to package directions.<\/li>\n<li id=\"instruction-step-5\" style=\"margin-left: 15px\">Meanwhile, in a food processor, combine basil, garlic. oil, pepitas, parmesan and drained broccoli and process until smooth.<\/li>\n<li id=\"instruction-step-6\" style=\"margin-left: 15px\">When pasta finishes cooking, reserve 1\/2 cup pasta water before draining.<\/li>\n<li id=\"instruction-step-7\" style=\"margin-left: 15px\">To finish pesto, add 1\/4 cup pasta water to the food processor and process until smooth.<\/li>\n<li id=\"instruction-step-8\" style=\"margin-left: 15px\">Taste and add salt as desired. Add remaining pasta water if you want the pesto a little thinner.<\/li>\n<li id=\"instruction-step-9\" style=\"margin-left: 15px\">Toss desired amount of pesto with pasta and serve.<\/li>\n<\/ol>\n<\/div>\n\t\t<\/div>\n\t<\/div>\n\n\n\n\n\n\n\n\n<footer class=\"tasty-recipes-entry-footer\">\n\t<h3 data-tasty-recipes-customization=\"footer-heading-color.color h3-transform.text-transform footer-heading.innerText\">Did you make this recipe?<\/h3>\n\t<div data-tasty-recipes-customization=\"footer-description-color.color footer-description.innerHTML\"><p>Tag <a href=\"https:\/\/www.instagram.com\/theleangreenbean\" target=\"_blank\" rel=\"noreferrer noopener\">@theleangreenbean<\/a> on Instagram<\/p><\/div>\n<\/footer>\n\n\n\n<script>\nwindow.trCommon={\"minRating\":6,\"ajaxurl\":\"https:\\\/\\\/www.theleangreenbean.com\\\/wp-admin\\\/admin-ajax.php\",\"ratingNonce\":\"\",\"postId\":21778};\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<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Broccoli Pesto Pasta FAQs<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">How do you store broccoli pesto pasta?<\/h3>\n\n\n\n<p>If you&#8217;re making the pesto ahead of time, I would store it separately and toss it with warm pasta when you&#8217;re ready to serve it. Pesto can be stored in an airtight container in the fridge for a week or two. Extra can be frozen. <\/p>\n\n\n\n<h3 class=\"wp-block-heading\">How do you freeze broccoli pesto?<\/h3>\n\n\n\n<p>Pesto can be stored in the freezer if you&#8217;re not able to use it all. Just use a Tablespoon to scoop onto a plate lined with parchment paper. Freeze and then transfer the pesto spoonfuls to a Ziploc bag. <\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Can you make broccoli pesto without basil?<\/h3>\n\n\n\n<p>I&#8217;ll be honest- I think basil is really what gives pesto its classic flavor. I tried this recipe using curly parsley and it just wasn&#8217;t the same. I&#8217;ve seen people recommend trying arugula instead of basil but I haven&#8217;t tried it myself. <\/p>\n\n\n\n<p>This post has ideas for <a href=\"https:\/\/www.raspberriesandkohlrabi.com\/the-best-substitutes-for-basil-in-pesto\/#:~:text=The%20best%20substitutes%20for%20basil%20in%20pesto%20are%20other%20greens,What%20is%20this%3F\" target=\"_blank\" rel=\"noopener\">The Best Substitutes for Basil in Pesto<\/a>. <\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"680\" height=\"1020\" src=\"https:\/\/www.theleangreenbean.com\/wp-content\/uploads\/2016\/05\/broccoli-pesto-pasta-1.jpg\" alt=\"broccoli pesto pasta recipe\" class=\"wp-image-43416\" title=\"\" srcset=\"https:\/\/www.theleangreenbean.com\/wp-content\/uploads\/2016\/05\/broccoli-pesto-pasta-1.jpg 680w, https:\/\/www.theleangreenbean.com\/wp-content\/uploads\/2016\/05\/broccoli-pesto-pasta-1-133x200.jpg 133w, https:\/\/www.theleangreenbean.com\/wp-content\/uploads\/2016\/05\/broccoli-pesto-pasta-1-367x550.jpg 367w\" sizes=\"auto, (max-width: 680px) 100vw, 680px\" \/><\/figure>\n<\/div>\n\n\n<h3 class=\"wp-block-heading\">Can you make this vegan broccoli pesto?<\/h3>\n\n\n\n<p>To make this recipe vegan you would need to replace the Parmesan cheese. You could try replacing the Parmesan in this recipe with nutritional yeast or try this <a href=\"https:\/\/minimalistbaker.com\/easy-vegan-pesto-5-minutes\/\" target=\"_blank\" rel=\"noopener\">Easy Vegan Pesto recipe<\/a>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Could you use this to make broccoli pesto pizza?<\/h3>\n\n\n\n<p>Yes! This would be the perfect addition to a white pizza. Pair it with fresh mozzarella slices, blistered tomatoes and even some chicken!<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Could you make roasted broccoli pesto?<\/h3>\n\n\n\n<p>Yes. If you wanted to kick the flavor up a bit, roasted broccoli would be great in this recipe!<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Can you use frozen broccoli in this recipe?<\/h3>\n\n\n\n<p>I wouldn&#8217;t recommend it. It&#8217;s a big too watery and changes the consistency of the pesto.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Could you serve this as broccoli pesto pasta salad?<\/h3>\n\n\n\n<p>Yes! This would be good hot or cold. Feel free to use shells or another type of pasta and add raw veggies for a little crunch and toss with pesto. <\/p>\n\n\n\n<p>Or try this <a href=\"https:\/\/cookieandkate.com\/pesto-pasta-salad-recipe\/\" target=\"_blank\" rel=\"noopener\">Pesto Pasta Salad <\/a>or this <a href=\"https:\/\/carlsbadcravings.com\/pesto-pasta-salad\/\" target=\"_blank\" rel=\"noopener\">Tortellini Pesto Pasta Salad.<\/a><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"600\" height=\"1500\" src=\"https:\/\/www.theleangreenbean.com\/wp-content\/uploads\/2016\/05\/broccoli-pesto-pasta.jpg\" alt=\"This Broccoli Pesto Pasta is easy to make and perfect for a quick weeknight dinner. Pair with chicken for extra protein and customize with your favorite veggies. \" class=\"wp-image-43417\" title=\"\" srcset=\"https:\/\/www.theleangreenbean.com\/wp-content\/uploads\/2016\/05\/broccoli-pesto-pasta.jpg 600w, https:\/\/www.theleangreenbean.com\/wp-content\/uploads\/2016\/05\/broccoli-pesto-pasta-80x200.jpg 80w, https:\/\/www.theleangreenbean.com\/wp-content\/uploads\/2016\/05\/broccoli-pesto-pasta-220x550.jpg 220w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/figure>\n<\/div>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Need more broccoli recipes?<\/h2>\n\n\n\n<p>Check out these:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.theleangreenbean.com\/broccoli-chicken-quinoa-casserole\/\">Broccoli Chicken Quinoa Casserole<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.theleangreenbean.com\/lemon-roasted-broccoli\/\">Lemon Roasted Broccoli<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.theleangreenbean.com\/easy-broccoli-slaw-recipes\/\">Easy Broccoli Slaw Recipes<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.theleangreenbean.com\/instant-pot-asian-peanut-noodles\/\">Instant Pot Peanut Noodles<\/a><\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p>Enjoy!<br>&#8211;Lindsay&#8211;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This Broccoli Pesto Pasta is easy to make and perfect for a quick weeknight dinner. Pair with chicken for extra protein and customize with your favorite veggies. *Originally published 5\/2016. Updated 9\/2024.* Hi Friends! This broccoli pesto pasta recipe has been on the blog for years now but I recently made it and decided it [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":43413,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_genesis_hide_title":false,"_genesis_hide_breadcrumbs":false,"_genesis_hide_singular_image":false,"_genesis_hide_footer_widgets":false,"_genesis_custom_body_class":"","_genesis_custom_post_class":"","_genesis_layout":"","footnotes":""},"categories":[80,69],"tags":[228,125,222],"class_list":{"0":"post-21778","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-side-dish","8":"category-soup-salad","9":"tag-broccoli","10":"tag-feta","11":"tag-pasta","12":"entry"},"_links":{"self":[{"href":"https:\/\/www.theleangreenbean.com\/wp-json\/wp\/v2\/posts\/21778","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.theleangreenbean.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.theleangreenbean.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.theleangreenbean.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.theleangreenbean.com\/wp-json\/wp\/v2\/comments?post=21778"}],"version-history":[{"count":8,"href":"https:\/\/www.theleangreenbean.com\/wp-json\/wp\/v2\/posts\/21778\/revisions"}],"predecessor-version":[{"id":61363,"href":"https:\/\/www.theleangreenbean.com\/wp-json\/wp\/v2\/posts\/21778\/revisions\/61363"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.theleangreenbean.com\/wp-json\/wp\/v2\/media\/43413"}],"wp:attachment":[{"href":"https:\/\/www.theleangreenbean.com\/wp-json\/wp\/v2\/media?parent=21778"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.theleangreenbean.com\/wp-json\/wp\/v2\/categories?post=21778"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.theleangreenbean.com\/wp-json\/wp\/v2\/tags?post=21778"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}