China were looking to win the title for the first time since 1998 but four first-half goals from defending champions Japan gave them a mountain to climb in Hangzhou.
Two quickfire replies after the break reduced the deficit to one but the host nation were unable to find another goal to keep their hopes alive. North Korea thrashed Uzbekistan 8-0 in the day's other semi-final to set up a repeat of the 2014 final.
China had their strongest women's football squad at the Asian Games and all but one of their starting line-up appeared at this summer's World Cup. Japan fielded an inexperienced line-up but it didn't stop them from taking the lead in the 12th minute.
Yuzuki Yamamoto cut through the Chinese defence on the right and squared the ball for Yoshino Nakashima to meet with a sliding finish. China equalised less than 10 minutes later when Wang Linlin scored from a rebound after the ball had rattled Japan's crossbar.
Momoko Tanikawa restored Japan's lead just after the half-hour mark, running at goal from the left before drilling a shot into the far corner. Remina Chiba made it three just minutes later, sliding home a shot from inside the box.
And Toko Koga added another before half-time when she stuffed home a corner at the back post. Zhang Linyan scrambled in a goal early in the second half to reduce the deficit, before Yang Lina put China right back in it with a header direct from a corner.
There was still half an hour left but Japan held on and China will now face Uzbekistan in Friday's bronze-medal match. In the day's other semi-final, striker Kim Kyong Yong scored four goals as North Korea breezed into the final. The North Koreans are looking to claim women's football gold for a fourth time.