Andujar produced arguably the best tennis of his career to upset compatriot Ferrer 7-6 6-3 in the second semi-final.
“This is one of the best games I have played in my career,” said the world No 66.
“I knew that David is a very solid player from the baseline and it is very difficult to compete with him from there, so I tried to pressure his second serve and come to the net when I could. In the end it was a combination of me playing well and him making some mistakes at the start of the second set.”
Andujar won two break points in the opening set and eventually, after Ferrer valiantly fought back, won the tie-break. Andujar’s established a more dominant serve in the second set to advance into the final.
He called on the Spanish crowd to help him against the top seed Nishikori on Sunday.
“I am inspired,” he said. “I think I have worked hard and in the end things are going very well, and there is no better place than here in Barcelona surrounded by my people.
“I hope it will be like a Davis Cup atmosphere. I hope the fans give everything tomorrow. I need them because Nishikori is playing very well.”
Earlier, Nishikori comfortably progressed into the final after a 6-1 6-2 win over Martin Klizan.
Klizan was able to inflict a shock defeat on Nishikori at 2014’s French Open but at no stage seemed capable of repeating the trick against the Japanese top seed.
Nishikori wrapped up the first set within 28 minutes, and it would have been quicker had he completed the bagel that looked certain until Klizan finally got on the scoreboard when he was five games down.
The world No 5 produced the highlight of the opening set, winning a sublime rally by lofting the ball over Klizan’s head and landing it on the baseline.
Klizan took the first game of the second set by forcing a back-and-forth duel but Nishikori quickly levelled before earning a break of serve to go 2-1 up. The Slovak’s resistance was on the wane, and Nishikori secured back-to-back breaks to go 4-1 ahead.
A powerful serve followed by a delicate drop shot put him a game away from the final, and after Klizan held serve, Nishikori wrapped up his place in Sunday’s final.