The 14th seed becomes the first Croatian since Goran Ivanisevic in 1996 to reach the final four at Flushing Meadows, and he pulled off the upset under the watchful eye of Ivanisevic, now his coach.
Cilic, who missed last year's US Open as he sat out a doping ban, pounded 19 aces past Berdych, recovering an early break in the third to force the decider.
He'll face either five-time champion Roger Federer or 20th-seeded Gael Monfils of France for a place in the championship match.
"It was very tricky with the conditions," Cilic said. "Very gusty -- for both of us.
"We are big guys, it's not easy to deal with the wind and the ball moving in the air. I felt that I was using the wind a bit better today."
Cilic has matched his best Grand Slam performance -- a semi-final run at Australia in 2010.
"I had tough times the last couple of years and I'm really happy that things are working out with my team," he said.
- Berdych playing catch-up -
Cilic wasted no time taking control, breaking Berdych in the opening game and again for a 4-1 led in the first as the Czech struggled to get his big serve working.
"Just considering the conditions and the opening of the match went in my side, that sort of relaxed me a bit more. I felt that I was in the driving seat and that Tomas was all the time catching me and I was serving good in the right moments," Cilic said.
Berdych, meanwhile, said he served "horribly" and he was unable to make inroads on Cilic's serve.
He broke back, but that was the only break point he'd muster in the first two sets, and Cilic won the next two games for a one-set lead after just 28 minutes.
"It was not the way to start the match like that," Berdych said. "Then obviously it was really tough to catch up.
"Today was definitely not the day I wanted to have."
The Croatian then broke to open the second -- the four breaks matching the total surrendered by Berdych in the 64 service games of his first four matches.
Cilic dropped just three points on his serve in the second set -- two of them in the final game.
He had delivered three straight aces to give himself triple set point, then promptly double-faulted. A backhand into the net cost him another chance, but he was two-sets up after Berdych fired a service return long on the next.
But Berdych found his feet in the third, breaking in the second to take a 3-0 lead.
Serving at 4-2, he thought he had reached a drop shot in time and was incensed when the chair umpire judged the ball bounced twice.
"Have you ever had a racquet in your hand? Never!" Berdych fumed. "It's the worst call I ever had."
He went on to drop his serve, and was still railing during the changeover, but they went from there to the tiebreaker.
Cilic gave himself a match point with an ace, and polished it off with a forehand winner, posting his second straight Grand Slam win over Berdych after ousting the Cezch from Wimbledon in the third round.