Tesco has announced a pay rise for its store employees from £12.02 to £12.45 as of 30 March 2025.
The increase is part of an agreement with trade union Usdaw, along with a second pay rise to £12.64 from the end of August and a 7.1% London allowance increase to £1.21, taking rates from £13.15 per hour to £14.36 per hour.
This represents an above-inflation increase of 5.2% and is an £180 million investment in employee pay. Hourly-paid staff will have seen a 32% pay increase since April 2022, equivalent to a more than £900 million investment.
Retail pay rises in 2025
Aldi store assistants to receive March pay rise
Lidl announces pay rise from March 2025
Currys increases hourly pay by 6%
Tesco will also remove Sunday premium payments, with eligible employees receiving a one-off payment and bank holiday premiums retained, increase the maximum sick pay entitlement to 20 weeks for eligible staff, and replace the previous £2,000 allowance with a Colleague Clubcard discount with no cap for employees and their second Clubcard holder.
Matthew Barnes, chief executive officer at Tesco UK, said: “Our employees are our greatest asset, and this pay deal recognises the brilliant work they put in day-in, day-out to serve our customers.
“It also represents another significant investment in our staff pay, which combined with our fantastic package of benefits, means Tesco continues to be a place to get on and thrive in a fulfilling and rewarding career.”
Daniel Adams, national officer at Usdaw, added: “It is a real achievement that Usdaw reps have been able to secure a pay deal that builds on the negotiations of the last few years. Not only does it ensure a meaningful gap between the Tesco rates of pay and the national living wage in April, but it also means that in August, the basic rate of pay in Tesco will exceed the real living wage rate outside of London and meet it within the M25.
“This, along with the other negotiated improvements, demonstrates the value of a modern and progressive relationship between independent trade unions and employers.”
Tesco offers a virtual GP service, 26 weeks’ fully paid maternity and six weeks’ fully paid paternity leave, free food in store canteens, a pay advance scheme, share save schemes, an employee assistance programme, a retirement savings plan which matches contributions up to 7.5%, and an up to 15% discount on shopping.
Sign up to our weekly round-up of HR news and guidance
Receive the Personnel Today Direct e-newsletter every Wednesday
![]()

Email(Required) OptOut From time to time, we will send you emails about selected products, events and services from Personnel Today and OHW+ - but you can choose to opt-out at any time. If you do not wish to receive these emails, please tick this box.EmailThis field is for validation purposes and should be left unchanged.
Δdocument.getElementById( "ak_js_1" ).setAttribute( "value", ( new Date() ).getTime() );
/* = 0;if(!is_postback){return;}var form_content = jQuery(this).contents().find('#gform_wrapper_129');var is_confirmation = jQuery(this).contents().find('#gform_confirmation_wrapper_129').length > 0;var is_redirect = contents.indexOf('gformRedirect(){') >= 0;var is_form = form_content.length > 0 && ! is_redirect && ! is_confirmation;var mt = parseInt(jQuery('html').css('margin-top'), 10) + parseInt(jQuery('body').css('margin-top'), 10) + 100;if(is_form){jQuery('#gform_wrapper_129').html(form_content.html());if(form_content.hasClass('gform_validation_error')){jQuery('#gform_wrapper_129').addClass('gform_validation_error');} else {jQuery('#gform_wrapper_129').removeClass('gform_validation_error');}setTimeout( function() { /* delay the scroll by 50 milliseconds to fix a bug in chrome */ }, 50 );if(window['gformInitDatepicker']) {gformInitDatepicker();}if(window['gformInitPriceFields']) {gformInitPriceFields();}var current_page = jQuery('#gform_source_page_number_129').val();gformInitSpinner( 129, 'https://www.personneltoday.com/wp-content/plugins/gravityforms/images/spinner.svg', true );jQuery(document).trigger('gform_page_loaded', [129, current_page]);window['gf_submitting_129'] = false;}else if(!is_redirect){var confirmation_content = jQuery(this).contents().find('.GF_AJAX_POSTBACK').html();if(!confirmation_content){confirmation_content = contents;}jQuery('#gform_wrapper_129').replaceWith(confirmation_content);jQuery(document).trigger('gform_confirmation_loaded', [129]);window['gf_submitting_129'] = false;wp.a11y.speak(jQuery('#gform_confirmation_message_129').text());}else{jQuery('#gform_129').append(contents);if(window['gformRedirect']) {gformRedirect();}}jQuery(document).trigger("gform_pre_post_render", [{ formId: "129", currentPage: "current_page", abort: function() { this.preventDefault(); } }]); if (event && event.defaultPrevented) { return; } const gformWrapperDiv = document.getElementById( "gform_wrapper_129" ); if ( gformWrapperDiv ) { const visibilitySpan = document.createElement( "span" ); visibilitySpan.id = "gform_visibility_test_129"; gformWrapperDiv.insertAdjacentElement( "afterend", visibilitySpan ); } const visibilityTestDiv = document.getElementById( "gform_visibility_test_129" ); let postRenderFired = false; function triggerPostRender() { if ( postRenderFired ) { return; } postRenderFired = true; jQuery( document ).trigger( 'gform_post_render', [129, current_page] ); gform.utils.trigger( { event: 'gform/postRender', native: false, data: { formId: 129, currentPage: current_page } } ); if ( visibilityTestDiv ) { visibilityTestDiv.parentNode.removeChild( visibilityTestDiv ); } } function debounce( func, wait, immediate ) { var timeout; return function() { var context = this, args = arguments; var later = function() { timeout = null; if ( !immediate ) func.apply( context, args ); }; var callNow = immediate && !timeout; clearTimeout( timeout ); timeout = setTimeout( later, wait ); if ( callNow ) func.apply( context, args ); }; } const debouncedTriggerPostRender = debounce( function() { triggerPostRender(); }, 200 ); if ( visibilityTestDiv && visibilityTestDiv.offsetParent === null ) { const observer = new MutationObserver( ( mutations ) => { mutations.forEach( ( mutation ) => { if ( mutation.type === 'attributes' && visibilityTestDiv.offsetParent !== null ) { debouncedTriggerPostRender(); observer.disconnect(); } }); }); observer.observe( document.body, { attributes: true, childList: false, subtree: true, attributeFilter: [ 'style', 'class' ], }); } else { triggerPostRender(); } } );} );
/* ]]> */
Reward, compensation and benefits opportunities
Browse all comp and benefits jobs
Shop Smarter on AP Today | FREE Product Samples, Latest
Discounts, Deals, Coupon Codes & Promotions | Direct Brand Updates every
second | Every Shopper’s Dream!