Schwazer won the bronze medal in the 50 km race at the 2005 World Championships in a national record time of 3:41.54 hours. At the 2007 World Championships he finished tenth in the 20 km race and won bronze again in the 50 km race (with the quickest finish ever measured on this event, of 3:37:04.08). He was the runner-up at the 2008 IAAF World Race Walking Cup and went on to win gold at the 50 km walk at the 2008 Summer Olympics, setting a new Olympic record with his time of 3:37:09.