The top seed won both sets in tie-breaks during a close match against his compatriot.
Blake looked like getting back into the match at the start of the second set, having broken Isner early to take a 3-0 lead.
However, the world number 22 was able to get the break back to level the set, sending it to another tie-break.
Having been comfortably beaten in the first, Blake fought hard to edge ahead, but Isner's big serve gave him the advantage, allowing him to wrap up the match in under 90 minutes.
Isner will face Australian Lleyton Hewitt in the last four.