The British number two dropped the first set against the experienced German, but he fought back to run out a 2-6 6-4 7-5 winner.
The 22-year-old is defending a considerable chunk of ranking points during the American swing, and it appeared that he would miss out on a valuable win when being broken twice during a one-sided opener.
However, he benefited from a rain delay and was able to strike back late on in the second set to force a decider, before having more success on Gojowczyk's serve in the third.
A tie-break appeared likely when they reached 5-5, but Edmund was able to secure the pivotal break to claim the win in just over two hours.
Edmund will now meet top seed Jack Sock for a place in the last four.