Robinho's first-half strike, from David Beckham's cross, and a Ruud van Nistelrooy penalty had put the visitors in control, but Antonio Jesus Vazquez's spot-kick and a goal from substitute Ikechukwu Uche looked to have salvaged a point for Recreativo before Roberto Carlos' timely contribution.

The 3-2 win moved Madrid two points ahead of Sevilla and three ahead of Barcelona, who play Atletico Madrid this evening. It also maintains the hopes of former England captain Beckham of claiming some silverware before leaving Madrid to join Los Angeles Galaxy this summer.