UK stocks rallied on Thursday afternoon to finish at their highest level in two and a half weeks, as strong gains in the oil, mining and retail sectors pushed the FTSE 100 up more than 1%.