Kallio took his first 250 pole on Saturday, but lost out to Honda's Andrea Dovizioso into turn one - with Aprilia's Alex de Angelis soon demoting the Finn by a further position.
de Angelis and Dovizioso went on to pull a slight gap over a thrilling fight for third between Kallio, Hector Barbera, Aoyama, Julian Simon and world championship leader Jorge Lorenzo.
Some lurid moves by Barbera into turn one delayed the pack's attempts to reel in the top two, but by the closing stages Dovizioso had faded backwards and been replaced by Aoyama, now shadowing leader de Angelis's every move.
But the top two weren't alone with Kallio, Lorenzo and Dovizioso also charging forwards. When Aoyama made a calculated move to take the lead on the last lap, Kallio was also within striking distance and able to demote de Angelis to third on the exit of the very final turn.
Reigning world champion Lorenzo never looked his usual aggressive self, but the Spaniard found form in the closing stages to take fourth and thus increase his points lead over Dovizioso.
Race results - Sachsenring:
1. H. Aoyama (KTM)
2. Kallio (KTM) +0.119secs
3. de Angelis (Aprilia) +0.274secs
4. Lorenzo (Aprilia) +0.579secs
5. Dovizioso (Honda) +1.296secs
6. Barbera (Aprilia) +11.851secs
7. Simoncelli (Gilera) +17.308secs
8. Takahashi (Honda) +22.309secs
9. Luthi (Aprilia) +28.858secs
10. Locatelli (Gilera) +35.983secs
Laverty (Honda) DNF
Linfoot (Aprilia) DNF