1. Homepage
  3. Roasted Tomato & Onion Soup w/ Walnut Basil Pesto

October 9, 2015

Roasted Tomato & Onion Soup w/ Walnut Basil Pesto

Post by heartfoodie

I love making tomato soup; it’s easy, and its light. I like to make a batch and enjoy it for lunch for days. I pair it with toasted rye bread and salad. It’s the kind of soup that makes me feel like I’m doing something good for myself. You know that feeling when you pick water over soda and all of a sudden you think you’re so fit? Kind of like that.  There’s nothing really “heart healthy” special in this soup, either then it’s healthy, low fat, low calorie and super tasty. I added a walnut pesto to add some high, good fat and bring in another layer of flavour.

Why is this good for you?

  1. Meal prep. We started meal prep Sundays. It’s the day we go grocery shopping. Depending on what we make, it can take 1 or 2 hours to make ten salads and a few easy kinds of soup that we freeze for later weeks. Meal prepping lunches, for us, was a big contributor to getting heart healthy. It eliminates the need to make last minute, fast food decisions or worse, starve. Meal prep, if done right, it’s good for you.
  2. Walnuts.  High in good, unsaturated fatty acids and omega-3’s, walnuts help reduce your LDL cholesterol. Roasted or plain, as long as they’re unsalted, try to incorporate walnuts (or other healthy nuts like cashews, almonds, etc.) into your diet, whether in food or as snacks.

Skip ahead to the nutritional facts and printer-friendly version of this recipe.



1.5 lbs halved roma tomatoes
4 garlic cloves (3 smashed, 1 minced)
1 thick sliced, red onion
4 cups vegetable or chicken broth (low sodium)
1/2 cup roughly chopped, fresh basil
2 tbsp olive oil
1 tbsp walnut pieces
1/3 cup grated parmesan cheese
salt and pepper to taste

8 Easy Steps (Instructions):

Step 1: Preheat oven at 400.

Step 2: In a bowl, toss halved tomatoes, 3 smashed garlics and large wedges of red onion in 1 tbsp of olive oil. Season with salt and pepper.

Step 3: Lay the vegetables on a lined baking sheet and bake for 40 minutes.

Step 4: Meanwhile, make pesto by blending 1 minced garlic, 1 tbsp olive oil, basil, parmesan cheese and walnuts. Season with salt and pepper to your liking. Keep in a bowl by topping with a little bit of olive oil.

Step 5: When tomatoes and onions are nice and roasted, remove from oven add to a pot. Add vegetable broth and bring to a boil. Reduce to a simmer.

Step 6: Carefully ladle in roasted vegetables and broth into a blender and puree. You may need to do this in batches.

Step 7: Add the blended soup back into the pot and let it cook on simmer for another 10 minutes. Season with salt and pepper.

Step 8: To serve, ladle soup into bowls and top with pesto and fresh basil.

Enjoy! Nutritional facts and printer-friendly version of this recipe here.

" ); writeDoc.close(); printWindow.focus(); printWindow.print(); if ( settings.mode == modes.popup && settings.popClose ) printWindow.close(); } function docType() { if ( settings.mode == modes.iframe || !settings.strict ) return ""; var standard = settings.strict == false ? " Trasitional" : ""; var dtd = settings.strict == false ? "loose" : "strict"; return ''; } function getBody( printElement ) { return '

' + $("a.action-bookmark").attr('title') + '

' + $(".entry-description").html() + $(".entry-nutri").html() + $(".entry-ingredient").html() + $(".entry-instruction").html() + '
'; } function getFormData( ele ) { $("input,select,textarea", ele).each(function(){ // In cases where radio, checkboxes and select elements are selected and deselected, and the print // button is pressed between select/deselect, the print screen shows incorrectly selected elements. // To ensure that the correct inputs are selected, when eventually printed, we must inspect each dom element var type = $(this).attr("type"); if ( type == "radio" || type == "checkbox" ) { if ( $(this).is(":not(:checked)") ) this.removeAttribute("checked"); else this.setAttribute( "checked", true ); } else if ( type == "text" ) this.setAttribute( "value", $(this).val() ); else if ( type == "select-multiple" || type == "select-one" ) $(this).find( "option" ).each( function() { if ( $(this).is(":not(:selected)") ) this.removeAttribute("selected"); else this.setAttribute( "selected", true ); }); else if ( type == "textarea" ) { var v = $(this).attr( "value" ); if ($.browser.mozilla) { if (this.firstChild) this.firstChild.textContent = v; else this.textContent = v; } else this.innerHTML = v; } }); return ele; } function Iframe() { var frameId = settings.id; var iframeStyle = 'border:0;position:absolute;width:0px;height:0px;left:0px;top:0px;'; var iframe; try { iframe = document.createElement('iframe'); document.body.appendChild(iframe); $(iframe).attr({ style: iframeStyle, id: frameId, src: "" }); iframe.doc = null; iframe.doc = iframe.contentDocument ? iframe.contentDocument : ( iframe.contentWindow ? iframe.contentWindow.document : iframe.document); } catch( e ) { throw e + ". iframes may not be supported in this browser."; } if ( iframe.doc == null ) throw "Cannot find document."; return iframe; } function Popup() { var windowAttr = "location=yes,statusbar=no,directories=no,menubar=no,titlebar=no,toolbar=no,dependent=no"; windowAttr += ",width=" + settings.popWd + ",height=" + settings.popHt; windowAttr += ",resizable=yes,screenX=" + settings.popX + ",screenY=" + settings.popY + ",personalbar=no,scrollbars=no"; var newWin = window.open( "", "_blank", windowAttr ); newWin.doc = newWin.document; return newWin; } $('a.action-print').click(function() { var container = $(this).attr('rel'); $('.' + container).printArea(); return false; }); })(jQuery);