The South African started the final round with a four-stroke advantage, which turned into a romp when his closest challenger, England's Paul Casey, took triple-bogey at the 12th. Oosthuizen shot a 1-under 71 in the final round for a 16-under 272 total on the Old Course.
He had a chance to tie the modern Open record for biggest win, an eight-stroke margin last accomplished by Tiger Woods a decade ago at St. Andrews. But the 27-year-old missed a 10-foot birdie attempt at the final hole and tapped in for par.
Another Englishman, Lee Westwood, shot 70 and wound up as the runner-up at 279. Casey staggered to a 75 and finished at 280, tied for third with Northern Ireland's Rory McIlroy (68) and Sweden's Henrik Stenson (71).
No one got within three strokes of Oosthuizen all day. He began to pull away with a 50-foot eagle putt at No. 9 after driving the green. Casey fell apart three holes later when he drove into the gorse and had to take a penalty.