The FTSE 100 Index closed 10.1 points higher at 5483.8, after dipping in and out of the red throughout the session, while indices across Europe fell, with the Cac 40 in France off 0.8% and Germany's Dax down 0.1%.
Fears over the world's largest economy returned after figures showed a 0.2% drop in US retail sales in May and a 1% plunge in producer prices.
But Europe's economic troubles and the weekend's impending Greek elections weighed most heavily on investor sentiment, with Spanish bond yields up 1% at 6.77%.
The pound fell against the US dollar to 1.55 and to 1.23 against the euro.
In corporate news, Sainsbury's saw shares plunge after the supermarket chain reported a lower-than-expected 1.4% rise in like-for-like sales for the 12 weeks to June 9. Shares were 7.6p or 2.6% lower at 283.5p as the figure was slightly below some market forecasts for growth of up to 2%, although Sainsbury's offset this by claiming it continued to take market share from rivals.
It hailed a week of strong trading over the Queen's Diamond Jubilee, with an extra two million transactions. But trading was also impacted by a downbeat note on the sector from HSBC. Smaller rival Morrisons was another casualty, off 2.4p or 1% at 277.8p.
Advertising and marketing giant WPP was also in focus after it suffered a shareholder rebellion against executive pay.
It said 59.5% of investors voted against its pay report – a backlash against boss Sir Martin Sorrell's remuneration deal. Shares in WPP fell 15p to 753p.
JD Sports Fashion, whose shares have fallen 25% over the past six months, closed 3.5p higher at 615.3p after it reported improved sales figures from its core estate. The Bury-based group said like-for-like sales were up 1.5% in the 19 weeks to June 9, a rise of around 1.8% over the past 10 weeks.
Shares in blue chip retailer Next rose 19p to 3070p after a positive trading update from its Spanish rival Inditex, the owner of fashion chain Zara. Inditex saw net profits leap 30% as sales rose 15% in its first quarter.
The biggest Footsie risers were Fresnillo, up 58p at 1487p, Icap ahead 7.6p at 354.1p, Randgold Resources, up 120p at 5885p and SSE, ahead 28p at 1388p.
The biggest fallers were Xstrata, down 50p at 920p, Man Group, off 1.9p at 324p, Glencore, down 11.9p at 355p and Sainsbury's, off 7.6p at 283.5p.