Is that three hours from touchdown to takeoff? If so, I think you might be cutting it a bit fine, given you need to allow at least 30 minutes from touchdown to getting landside and probably 45 mins from being back in the airport pre-departure.
Of course the other point you need to consider is trying to check that the items are actually in stock...
There's a Safeway listed on yell.com in Hayes town centre. This will be branded as something else now, but Hayes is just 5 mins away on the Heathrow Connect (albeit at £6 each way).
There's a big Sainsbury's just the other side of Feltham, but the London Transport website says to allow 45 minutes each way on the bus for that (!).
Final option I can see is to take the Heathrow Express and go to the Sainsbury's at Paddington (unless of course the Whistestop shops in LHR stock these.....)
Good luck!