In both the semi and final, Kessler was by far one of the slowest runners over the first 100 meters. He gradually worked his way up to the pack and by 400m was near the front, in perfect position.
I think most 800m runners start the race too fast, leaving them too fatigued to run a strong final 200.