MADRID — Leader Barcelona suffered its first defeat in La Liga this season when Real Sociedad stormed back from two-goals down and made the most of a red card for Gerard Pique to record a 3-2 home win Saturday. Imanol Agirretxe stunned the visitor by sliding in to grab a last-gasp winner after a double from Gonzalo Castro, who scored either side of halftime, helped cancel out early goals for the visitor from Lionel Messi and Pedro. A full-strength Barca had dominated the first half, but Pique's second yellow card in the 56th minute came when Sociedad was in the ascendancy, and the host was eventually rewarded for its endeavor in time added on. Barca, which had won every league game except for a 2-2 draw at home to champion Real Madrid in October, stayed on 55 points from 20 games, 11 ahead of second-placed Atletico Madrid. In the late game, Malaga goalkeeper Willy Caballero saved a point for his side by denying Enrique De Lucas in a one-on-one in the last minute as it held on for a 1-1 draw at home to Celta Vigo. Rayo Vallecano's impressive surge up the table was halted when it lost 2-0 at Granada. Rayo stayed sixth with 31 points, while Sociedad's victory left it ninth with 29. Getafe is 10th with 26 points after a 1-1 home draw with Sevilla. Napoli spoils chance Fiorentina defender Facundo Roncaglia, aided by a blunder from Napoli goalkeeper Morgan De Sanctis, scored from just inside his own half in a 1-1 Serie A draw Sunday. Uruguay forward Edinson Cavani replied for Napoli with his 100th Serie A goal and 17th of the season to take his side level on points with Lazio in second place. Napoli and Lazio both have 43 points from 21 games, five behind Juventus who thumped Udinese 4-0 Saturday. Giampaolo Pazzini scored twice, the second an exquisite lesson in close control, to give AC Milan a 2-1 win over Bologna while bottom club Siena ended a run of six successive defeats by beating Sampdoria 1-0. Genoa lost 2-0 at home to Catania. Pescara also lost at home, 2-0 against Torino. Hamburg moves up Hamburg SV settled for a 1-1 draw at Nuremberg despite taking a late lead in the Bundesliga restart Sunday but still moved up to ninth place to remain in contention for a European spot. Bayern Munich is nine points clear at the top after their 2-0 win over Greuther Fuerth Saturday with Bayer Leverkusen, on 36 points, beating Eintracht Frankfurt 3-1 to remain second. Champion Borussia Dortmund crushed Werder Bremen 5-0 to move up to 33 points in third place. Gignac strikes for Marseille A last-gasp goal by Andre-Pierre Gignac gave Olympique Marseille a thrilling 3-2 comeback home win against champion Montpellier in Ligue 1 Saturday. Striker Gignac found the back of the net one minute into stoppage time to lift OM up to second place with 41 points from 21 games, one point adrift of leader Olympique Lyon. — Agencies