Ezekiel Okare came off the bench to help Sofapaka twice come from a goal down when he broke the deadlock with a second goal in the 70th minute.
Jackson Macharia gave Tusker the lead after he teamed up with Boniface Muchiri to slot past hapless Mathias Kigonya.
The early goal didn’t dampen the spirit of Sofapaka, who responded almost immediately, thanks to a poor judgment by Patrick Matasi.
Lloyd Wahome committed a foul on the right back and a well-delivered ball inside Tusker box by Kevin Kimani was met by Ugandan Umaru Kasumba, who rose above the opposition’s defence to head past Matasi.
Okare, however, came back to make amends when he punished Tusker with 20 minutes left on the clock.
Sofapak will now battle defending champions Ingwe, who beat Kenya Police 4-1 to progress to the semis.