In what was possibly his last match in Auckland, Ferrer produced exactly the type of performance we have come to expect from the four-time champion.
On the other side of the draw, Ferrer's compatriot Roberto Bautista Agut appears a safe bet for the final, drawn for a semi-final against Robin Haase.
He broke late against a scampering Ferrer to earn a 6-4 first-set win before seizing another crucial break at 4-4 in the second set and serving out the match.
"We've played many matches on tour - his forehand is pretty good, serves are good and returns so well, so I must be smart", the world No.12 del Potro said.
The second-seeded del Potro will aim for his first Classic title since 2009, while the fifth-seeded Bautista Agut will seek his second crown in three years.
"The difference was only a couple of points".
"I knew he would fight until the end".
But regardless of whether he comes back or not, Auckland will always hold a special place in his heart.
"If he takes the forehand he takes the initiative and I don't have a chance".
"It's still a long way for me to get to where I want to be, so it's going to be a lot of work, it's not just going to happen", Shapovalov said. "I have really good memories and I hope I'll be here next year".
Like the dynamic Ferrer, del Potro also managed to keep himself in the hunt, saving six break points and frustrating the Spaniard with his staying power.
The sky seemed to be the limit at that stage.
"It's awesome to me just to be playing tennis against after all my wrist problems". I think the crowd enjoyed the game. That in itself suggests this match between two former champions here should live up to its billing.
But that was nothing compared to what Bautista Agut went through as the 2016 champion was pushed to the limit in a thrilling three-hour clash.
"It was a great year for me (in 2009), winning the first title of the year here in Auckland, so I'd like to repeat it for sure", the 29-year-old del Potro said. "It was an unbelievable battle on the court".