M&S shares were down more than 5% at one stage after it disclosed poor sales in clothing, but Tesco lifted 2% as its performance in the UK suggested the turnaround plans of chief executive Philip Clarke were taking shape.
The London market failed to add any significant gains to the FTSE-100 Index, which had closed at its highest level since May 2008.
The benchmark index closed 2.9 points higher at 6101.5, after European Central Bank (ECB) chief Mario Draghi said the region was poised to start growing again.
The pound was down against the euro at 1.21 after the ECB unanimously left interest rates at a record low. It was up against the US dollar at 1.61.
The session also saw interest rates and the Bank of England's quantitative easing programme kept unchanged by policymakers, a decision that was in line with market expectations.
Royal Bank of Scotland maintained its rally of recent days after regulators relaxed rules on liquidity standards aimed at ensuring firms can survive a short-term crisis. It rose by another 6.9p to 356.8p.
In the retail sector, Tesco shares surged 6.3p to 355.4p after it reported its best UK growth in three years, with like-for-like sales up 1.8% in the six weeks to January 5.
This represented a big improvement on the previous year's dismal festive showing.
Marks & Spencer investors have been kept waiting for signs of a turnaround, with general merchandise sales down by 3.8% in the 13 weeks to December 29.
Shares were later 1% lower, off 2.2p at 368.8p.
Primark owner Associated British Foods was shaken by the poor M&S update, with shares down 26p at 1520p, but Next added 24p to 3925p after its sales figures impressed last week.
Outside the top flight, JD Sports Fashion offset strong trading in its core sports retail business with more disappointing results from Blacks Leisure, which it bought out of administration a year ago. Shares were down 0.5p to 674.5p.
The biggest FTSE-100 risers were ARM Holdings up 36.5p to 863.5p, Bunzl ahead 34p to 1049p, Melrose Industries 6.6p higher at 241.1p and Wood Group up 20.5p to 794.5p.
The biggest fallers were Intertek Group down 60p to 3100p, Associated British Foods off 26p to 1520p, Aviva 5.7p lower at 368p and ITV down 1.6p to 107.7p.