Rafa Nadal is on the verge of a ninth Monte Carlo Masters title after battling past Jo-Wilfried Tsonga 6-3 7-6 (7/3) to reach Sunday's final.