If you’re looking to give your summer dishes something new from Naples, this is the Italian twist you’ve been looking for. While many people find the idea of cooking octopus a bit of a challenge, this recipe ticks all the right boxes.
Octopus leg with peeled tomato linguini is a traditional recipe from the south coast of Italy. It uses the best of the seaside and countryside to create a dish that's both salty and sweet, and sure to please even the most particular of palates. While it uses relatively simple ingredients, the fusion of flavours combines to make something truly memorable. The component that most people worry about, the octopus, is far easier to cook than you might imagine. Follow this recipe, and you'll do this fabulous ingredient the justice it deserves.
Fresh octopus legs aren’t available to everyone and, in their natural state, can look a little peculiar. Our chefs prefer to use frozen pre-cooked Pasapesca octopus legs, with four pieces per pack. Fresh-frozen and imported from the sparkle of the Spanish seas, they're the perfect protein for this dish.
Similarly, when our culinary geniuses get to work, San Marzano tomatoes are the order of the day. Sweeter than a standard tomato with an undercurrent of acidity that cuts through the seafood's natural salts, they help achieve that tight-rope balance without you having to think about it too much.
While it’s possible to make this meal with other types of pasta, linguine is the way to go. With a larger surface area than spaghetti, there’s more room for sauce on each noodle, which offers more flavour per mouthful.
The trick with octopus legs is to either cook it hard and fast or low and slow. What you don't want is something chewy. Our chefs recommend that you heat your pan to medium-high heat, put in a splash of your best olive oil, and give it around two minutes on either side. The result will be faintly opaque in the middle but as tender as a steak and full of that fresh-from-the-Gulf of Naples- flavour.
While your San Marzano tomatoes are full of sun-ripened sweetness, don't forget to temper them with salt. There's no need for sugar in this recipe. Instead, a sprinkle of salt will help to balance the taste of the tomatoes with the salty-sweet deliciousness of the seafood. Our top tip is to add your salt bit by bit, give it a taste, and either stop or add more according to your preference. As a rule of thumb, adding seasoning is far easier than taking it away.
A classic Italian ingredient, capers add a subtle, floral element to the whole recipe. As the bud of a flower, they're fairly delicate, so when you're sautéing your garlic and shallots, treat them gently. Add them last to that base mixture, and as soon as you can smell their perfume in the mix, add your San Marzano tomatoes. Capers add that extra layer of flavour that you won’t find anywhere else in the world.
Whether you're cooking this recipe or want to look for more inspiration to give your get-togethers that pro-chef finesse, check out: https://chefmeathome.com/blogs/recipes
' + html + '
'; switch (_config.feedbackPosition) { case 'aboveForm': $addToCartForm.before(feedback); break; case 'belowForm': $addToCartForm.after(feedback); break; case 'nextButton': default: $addToCartForm.find(_config.addToCartBtnSelector).after(feedback); break; } // If you use animate.css // $('.ajaxified-cart-feedback').addClass('animated bounceInDown'); $('.ajaxified-cart-feedback').slideDown(); }; var _setText = function($button, label) { if ($button.children().length) { $button.children().each(function() { if ($.trim($(this).text()) !== '') { $(this).text(label); } }); } else { $button.val(label).text(label); } }; var _init = function() { $(document).ready(function() { $(_config.addToCartFormSelector).submit(function(e) { e.preventDefault(); var $addToCartForm = $(this); var $addToCartBtn = $addToCartForm.find(_config.addToCartBtnSelector); _setText($addToCartBtn, _config.addingToCartBtnLabel); $addToCartBtn.addClass('disabled').prop('disabled', true); // Add to cart. $.ajax({ url: _config.shopifyAjaxAddURL, dataType: 'json', type: 'post', data: $addToCartForm.serialize(), success: function(itemData) { // Re-enable add to cart button. $addToCartBtn.addClass('inverted'); _setText($addToCartBtn, _config.addedToCartBtnLabel); // _showFeedback('success',' Added to cart!',$addToCartForm); window.setTimeout(function(){ $addToCartBtn.prop('disabled', false).removeClass('disabled').removeClass('inverted'); _setText($addToCartBtn,_config.addToCartBtnLabel); }, _config.howLongTillBtnReturnsToNormal); // Update cart count and show cart link. $.getJSON(_config.shopifyAjaxCartURL, function(cart) { if (_config.cartCountSelector && $(_config.cartCountSelector).length) { var value = $(_config.cartCountSelector).html() || '0'; $(_config.cartCountSelector).html(value.replace(/[0-9]+/,cart.item_count)).removeClass('hidden-count'); } if (_config.cartTotalSelector && $(_config.cartTotalSelector).length) { if (typeof Currency !== 'undefined' && typeof Currency.moneyFormats !== 'undefined') { var newCurrency = ''; if ($('[name="currencies"]').length) { newCurrency = $('[name="currencies"]').val(); } else if ($('#currencies span.selected').length) { newCurrency = $('#currencies span.selected').attr('data-currency'); } if (newCurrency) { $(_config.cartTotalSelector).html('' + Shopify.formatMoney(Currency.convert(cart.total_price, "AED", newCurrency), Currency.money_format[newCurrency]) + ''); } else { $(_config.cartTotalSelector).html(Shopify.formatMoney(cart.total_price, "${{ amount }} AED {{ amount }} ")); } } else { $(_config.cartTotalSelector).html(Shopify.formatMoney(cart.total_price, "${{ amount }} AED {{ amount }} ")); } }; }); }, error: function(XMLHttpRequest) { var response = eval('(' + XMLHttpRequest.responseText + ')'); response = response.description; if (response.slice(0,4) === 'All ') { _showFeedback('error', response.replace('All 1 ', 'All '), $addToCartForm); $addToCartBtn.prop('disabled', false); _setText($addToCartBtn, _config.soldOutBtnLabel); $addToCartBtn.prop('disabled',true); } else { _showFeedback('error', ' ' + response, $addToCartForm); $addToCartBtn.prop('disabled', false).removeClass('disabled'); _setText($addToCartBtn, _config.addToCartBtnLabel); } } }); return false; }); }); }; return { init: function(params) { // Configuration params = params || {}; // Merging with defaults. $.extend(_config, params); // Action $(function() { _init(); }); }, getConfig: function() { return _config; } } })(jQuery); Shopify.AjaxifyCart.init();