American Zach Johnson was the surprise winner at the British Open Monday.