Spanish world No. 1 Rafael Nadal rallied from a set down to defeat Juan Martin del Potro 7-5, 6-7 (7-9), 4-6, 6-4, 6-4 on Wednesday and reach the Wimbledon semi-finals for the first time since 2011.

Nadal had a golden opportunity to put a stranglehold on the match in the second set, but he failed to convert four set points as the Argentine drew level.

Even so, the Spaniard had the stamina edge down the stretch against Del Potro, who was playing for the third straight day and seemed less able to withstand the brutal baseline rallies.

The 17-time Grand Slam champion also showed nerves of steel in two nail-biting service games late in the fifth set, eventually taking the match in four hours and 48 minutes.

The No. 2 seed dominated most of his service games in the first four sets despite getting few points outright off his serve.

In the opener, Nadal was out-aced 7-0 yet he did not face a single break point and won the set on the strength of a late service break.

Things then looked bleak for Del Potro when he fell behind 6-3 in the second-set tiebreak, but Nadal gave him a new lease on life with a double fault in the net at 5-6.

The Argentine evened the match at a set apiece a few points later and then used some aggressive hitting (five aces and 16 winners) to claim the third set, which he won by breaking Nadal's serve in the final game.

But the two-time champion refused to be denied, getting a crucial break in the fifth game of the fourth set to turn the momentum in his favor.

The fifth set was a battle of wills, with both players diving or falling onto the grass in their desperate efforts to prevent potential winners from getting past them.

In one of those rallies, Del Potro sprawled out Boris Becker style to hit a volley winner and earn a game point when serving at 1-1.

But Nadal got the critical break of serve two games later on a powerful backhand crosscourt winner and hung on for the narrow victory.

Although Del Potro was unable to draw level, the match featured plenty of drama down the stretch.

Nadal scraped out a service hold in the sixth game after saving two break points, one when Del Potro shanked a ball off his racquet frame to squander a chance on his lethal forehand side.

Two games later, the Spaniard once again was barely able to get any quick points off of his serve and had to battle through tricky rallies - and rely on his defense and drop shot - to keep Del Potro at bay.

After saving three more break points, he finally moved to 5-3 with a stunning forehand winner on game point.

Nadal's final service game was more routine, as he avoided any more break points and finished off the victory with a backhand volley winner after Del Potro had slipped to the turf one final time.

The crowd roared its appreciation for the entertaining tennis they had witnessed, while Nadal and Del Potro embraced after the Argentine got to his feet in a gesture of mutual respect.

Next up for Nadal in Friday's semi-finals will be a blockbuster match-up against three-time champion Novak Djokovic, who had cruised past Japan's Kei Nishikori 6-3, 3-6, 6-2, 6-2 earlier Wednesday.