Barcelona struggled to see off Sporting Gijon 3-1 last night.

With Lionel Messi suspended, Pep Guardiola's side had to rely on late goals from Seydou Keita and Xavi to secure a win that moved them seven points behind leaders Real Madrid.

Barca looked in real danger of dropping yet more points when David Barral's 49th-minute equaliser came moments after Gerard Pique saw red.

The champions had been frustrated before Andres Iniesta opened the scoring just before half-time and their ineffectiveness in front of goal looked like costing them until Keita curled in a wonderful goal with 11 minutes left.

Xavi added a third late on as Barca extended their unbeaten run at the Camp Nou to 49 games.