The Briton had two set points towards the end of a close opening set, but the 22-year-old was able to save them, eventually forcing a tie-break.
Janowicz took an early advantage, with a missed volley from the second seed helping him to a 4-0 lead in the tie-break, before some strong serves allowed the 24th seed claim the opening set.
The Scot was stronger at the start of the second, immediately breaking his opponent, but Janowicz forced Murray to face numerous break points throughout the set, although the world number two was able to save them all, before clinching the set 6-4.
The Polish player was on the attack at the start of the third, opening up a 4-1 lead over the US Open champion, but was distracted by the prospect of the roof closing, repeatedly asking the umpire when it would be shut.
Murray fought back, winning five games in a row to take a 2-1 lead in the match, but was angry when the tournament referee decided to take the players off court and close the roof, accusing them of being influenced by his opponent.
Despite objecting to the delay, Murray was able to continue his momentum in the fourth set, going a break up in the third game, with Janowicz making a double fault along the way.
The Scot was able to hold his own serve, taking the set to 5-3, before two double faults in a row on Janowicz's serve brought up a match point for the second seed, and he was able to seal his spot in Sunday's final with a forehand winner.
He will take on world number one Novak Djokovic in the final.