The first set was a see-saw affair as both men lost their serve three times in the opening 10 games, with Nishikori failing to serve out the opener when 5-4 ahead.
A tie-break was needed to separate them and it was 20th seed Nishikori who came through 9-7 after saving two set points.
The opener was a gruelling 79-minute set in the Florida humidity, but the second was much shorter as Ferrer broke Nishikori to love twice on his way to a 6-2 success in just half an hour.
Much like the first set, the third saw both men struggle on serve early on, with two breaks each in the first five games before a brief rain delay gave the pair a breather.
After the break, both men looked stronger on serve and soon a tie-break was again needed.
Ferrer had four match points but couldn't take any of them before Nishikori converted his first to progress to the last eight, where he will face either Roger Federer or Richard Gasquet.