He will play 10th-seeded Feliciano Lopez in Sunday's final, after the Spanish left-hander defeated Radek Stepanek of the Czech Republic 7-6 (7), 6-4.
"It's a good feeling," Dimitrov said. "I always wanted to be in a final out here; stepping on that (court) on Sunday means a lot to me. It has always been like one of the biggest events for me, for some reason"
It was the first victory in their three meetings for Dimitrov, who at 23 is the youngest player ranked in the world's top 20.
The Bulgarian took a 3-2 lead on his fourth break point when Wawrinka double-faulted, then broke again for 5-2.
Wawrinka held two break points in the next game but was unable to prevent Dimitrov serving out the set, and the Swiss also failed to convert two break points for a 3-1 lead in the second set.
Dimitrov broke to lead 4-3 and held on to secure a place in his third final of the year, following tournament victories in Acapulco and Bucharest.
"It was not my best match," Wawrinka said. "Didn't serve the way I wanted, and didn't move well. But Grigor was playing well, being really aggressive, serving big and mixing a lot."
Despite his defeat, Wawrinka was happy with his preparation for Wimbledon, which begins in nine days.
"So far it's been a positive week except today," he said. "I was playing well. I'm really happy with the practice session that I did every day. I had a lot of time on the grass, so it's been really good for the preparation for Wimbledon."
Lopez and Stepanek engaged in several highly entertaining rallies and drew enthusiastic appreciation from the spectators after their spectacular points.
Lopez fired a backhand winner down the line to save a break point to lead 2-1, but failed to convert any of five break points of his own when leading 3-2.
The Spaniard struggled after leading the tiebreaker 6-3, finally closing out the set on his fifth set point.
A break to lead 4-3 in the second set then earned Lopez a place in his first final since he won on grass at Eastbourne a year ago.