The French world No. 10, who defeated Spaniard Almagro in last week's Monte Carlo Masters, had his serve broken twice in the opening set on the Catalan clay before rallying to win 5-7, 6-1, 6-4.

Tsonga will play former junior world No. 1 Thiemo de Bakker for a place in Saturday's semifinals after the 21-year-old Dutchman upset seventh seed and former French Open champion Juan Carlos Ferrero 7-6, 3-6, 7-6.

Spanish eighth seed David Ferrer, runner-up to compatriot Rafael Nadal the past two years, advanced after Simone Bolelli retired from their match with a wrist injury. Ferrer was leading 6-0, 3-0.

World number three Nadal, who has won the in Barcelona for the past five years, opted to skip the event to give his body a rest after winning a record sixth consecutive Monte Carlo Masters title on Sunday.

World No.  Robin Soderling, the highest-ranked player left in the draw, and No. 9  Fernando Verdasco, whom Nadal thrashed in the Monte Carlo final, play later on Thursday against Feliciano Lopez and Juergen Melzer respectively.