Sticky Toffee Pudding

January 20, 2021

Sticky Toffee Pudding

If you've never tried sticky toffee pudding before then you're in for a treat! This classic British recipe is the perfect combination of hot sponge cake with a sticky and silky toffee sauce which is absolutely second to none. 

We’re going to take you through some top tips for making this classic dessert from our expert chef. You can also check out some of the top-quality products you can use to elevate your home cooking! The only question left is, “What do you serve it with?” (we strongly recommend Vendôme Vanilla Bourbon Gelato 😉)

What exactly is sticky toffee pudding?

Sticky Toffee Pudding is an English dessert which hails from the Lake District in the UK. It's a rich, dark sponge cake which is baked in the oven, topped with a sticky sauce which is actually extremely simple to make (see our tips below). 

You may also see this dessert called sticky date pudding, which is what it is commonly referred to in Australia and New Zealand.  

Key ingredients

The main ingredients for sticky toffee pudding are dates, flour, butter, and sugar. We recommend using a soft, brown sugar which will give you that beautifully rich caramelised sponge. When selecting the dates, opt for Medjool dates, which are especially soft and sweet. We strongly recommend using Molini Pizzuti's all purpose flour which is made from the very best Italian raw ingredients.

The toffee sauce is made with a cream base. For this, our chef swears by this Paysan Breton 35% whipping cream which can be used in sauces, quiches, baking and more.

How long does it keep?

Cooked sticky toffee puddings will keep for two days when stored in a sealed container in the fridge. You can also freeze them for up to three months (including the sauce).

Top tips from our chef

If you are feeding a large number of guests you can make these puddings in advance! Simply prepare everything up until step three of our recipe below, and then instead of baking place in the fridge for up to two days. When you are ready to bake, bring them up to room temperature by leaving them on a counter for 30 minutes. 

When you are making the sauce be careful not to use too high heat. It's far easier to cook for a little longer than it is to try and fix an over-done sauce!

 

star




Also in Recipes

Japanese Beef Curry
Japanese Beef Curry

January 20, 2023

On the right side of sweet and with just enough spice to tickle your tastebuds, this easy to prepare Japanese Beef Curry is a classy crowd-pleaser.

Continue Reading

Octopus Leg Linguine
Octopus Leg Linguine

December 22, 2022

If you’re looking to give your summer dishes something new from Naples, this Octopus Leg with Peeled Tomato Linguine is just what you’ve been looking for.

Continue Reading

Crayfish Tacos
Crayfish Tacos

December 15, 2022

With their roots in Mexican street food but with a New England twist, crayfish tacos are big on flavour & low on effort - sure to become a family favourite!

Continue Reading

/** * Module to ajaxify all add to cart forms on the page. * * Copyright (c) 2015 Caroline Schnapp (11heavens.com) * Dual licensed under the MIT and GPL licenses: * http://www.opensource.org/licenses/mit-license.php * http://www.gnu.org/licenses/gpl.html * */ Shopify.AjaxifyCart = (function($) { // Some configuration options. // I have separated what you will never need to change from what // you might change. var _config = { // What you might want to change addToCartBtnLabel: 'Add to cart', addedToCartBtnLabel: 'Added to cart!', addingToCartBtnLabel: 'Adding...', soldOutBtnLabel: 'Sold Out', howLongTillBtnReturnsToNormal: 1000, // in milliseconds. cartCountSelector: '.cart-count, #cart-count a:first, #gocart p a, #cart .checkout em, .item-count', cartTotalSelector: '#cart-price', // 'aboveForm' for top of add to cart form, // 'belowForm' for below the add to cart form, and // 'nextButton' for next to add to cart button. feedbackPosition: 'nextButton', // What you will never need to change addToCartBtnSelector: '[type="submit"]', addToCartFormSelector: 'form[action="/cart/add"]', shopifyAjaxAddURL: '/cart/add.js', shopifyAjaxCartURL: '/cart.js' }; // We need some feedback when adding an item to the cart. // Here it is. var _showFeedback = function(success, html, $addToCartForm) { $('.ajaxified-cart-feedback').remove(); var feedback = '

' + 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, "")); } } else { $(_config.cartTotalSelector).html(Shopify.formatMoney(cart.total_price, "")); } }; }); }, 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();