Kashyap, ranked 12th in the world, came from behind to beat the top seed Chinese 14-21 21-17 21-14 in a contest that lasted an hour and three minutes. He will take on third-seeded Dane Jan O Jorgensen.
"Big win today ! Thru to semis now. Keep supporting," Kahsyap tweeted.
However, Saina, who has won this tournament thrice in her career, went down 21-16 12-21 18-21 to old foe Wang Shixian of China in a 69-minute battle. This was the 13th face-off between the two and Wang has a 7-6 overall lead now.
The Commonwealth gold-medallist Indian was consistent with his smashes and impeccable with his net play against his more fancied opponent.
More From This Section
Coming into this match, Long had a 7-1 head-to-head record against Kashyap. The numero uno shuttler over the last two years has emerged as China's successor to the incomparable Lin Dan.
Incidentally, Kashyap's last victory against Long came in this very tournament in 2012.
In what was a classic David vs Goliath battle, Kashyap used all his resources to overcome his rival.