Hosts Twente, without Brazilian defender Douglas who was serving the first of a six-match ban after his red card last Sunday, dominated but were not always convincing against Utrecht who were reduced to 10 men after 20 minutes.
Right-back Tim Cornelisse was booked after 15 minutes and collected his second minutes later when he hit Janko with his elbow when both players were challenging for a header.
Utrecht held firm, looking for the counter-attack, until the 77th minute when Luuk de Jong intercepted a defensive pass and set up Janko who netted from close range through the legs of goalkeeper Michel Vorm.
Twente will face the winners of Thursday's match between Ajax Amsterdam and second division RKC Waalwijk in the May 8 final in Rotterdam.
Get the best features, fun and footballing frolics straight to your inbox every week.
Thank you for signing up to Four Four Two. You will receive a verification email shortly.
There was a problem. Please refresh the page and try again.