The British No.21 seed claimed his 46th win for the season, earning his sixth final appearance for the season, the equal most of any male player on tour, alongside Novak Djokovic.
Norrie will play No.29 seed Nicoloz Basilashvili, from Georgia, who defeated local Taylor Fritz in straight sets to reach a Masters 1000 final for the first time.
Norrie will also be making his maiden Masters 1000 final appearance after a 6-2 6-4 victory over No.23 seed Dimitrov in one hour and 26 minutes.
The 26-year-old Briton got ahead in both sets with an early break to set up the victory. Norrie moves ahead of Daniil Medvedev, Casper Ruud and Stefanos Tsitsipas and level with Djokovic for most final appearances this season.
"I've been playing a lot of big matches this year, which has helped," Norrie said during his on-court interview. "I feel like I am used to the big moments and the big matches.
"I'm feeling more and more comfortable and I feel like I am playing on my terms in key moments."
Dimitrov, who beat No.1 seed Daniil Medvedev in an epic fourth round comeback, appeared spent physically with 31 unforced errors compared to Norrie's 19, with the Briton only hitting 12 winners for the match.
The triumph boosts Norrie's hopes of qualifying for the ATP Finals, with victory in the decider to see him move past Jannik Sinner into 10th position and within 125 points of the last position, currently occupied by Hubert Hurkacz.
Basilashvili overcame late nerves to secure his first-ever Masters 1000 final berth with victory over 31st seed Fritz in 7-6 (7-5) 6-3 in one hour and 41 minutes.
The 29-year-old, who had never won a main draw match at Indian Wells prior to this year's event, had 26-21 winners for the match, stepping up in the key moments to claim his breakthrough spot in a decider.
"It means a lot, especially at Indian Wells," Basilashvili said during his on-court interview. "People call this the fifth grand slam so it means a lot."
The Georgian was uncompromising and committed throughout, staving off three Fritz set points in the first set, before getting the lead in a tiebreak. Basilashvili converted his first break point for the match to lead 4-2 in the second set, although he spurned three match points with missed forehands, before sealing victory.
"For me, I'm first time experiencing semi-finals, finals and quarter-finals so I'm really tight," Basilashvili said. "It's natural but I try to get rid of it as much as I can. If I focus on my game and play, I can play good tennis."