He spelt the word 'serrefine' correctly to defeat second place Nate Gartke, of Canada, and win the 80th annual bee. Gartke, from Spruce Grove, Alberta, was trying to become the first Canadian to win the championship.
O'Dorney, from Danville, said he knew how to spell the word, which is a noun describing small forceps, immediately after the pronouncer read it out.
The winner received $US35,000 in prize money and a trophy, as well as a scholarship, savings and a set of reference works.
O'Dorney, who finished in a tie for 14th in last year's spelling bee, only stumbled once in 2007's competition, when he had to restart 'schuhplattler', a German word.
The bee, which started with a competition-record 286 entrants on Wednesday, were narrowed down to 59 at the start of the final day. It was then whittled down to 15 finalists, and ten faltered over the next two rounds to leave a final group of five: four Americans and the Canadian Gartke.
Three more were eliminated, on the words 'aniseikonia' (a visual defect), "oberek" (a Polish folk dance), and "cyanophycean" (a kind of algae), leaving O'Dorney and Gartke.
The final pair matched each other with correct spellings for three rounds, until Gartke mistakenly added a 'h' into 'coryza' (a medical word), eliminating himself and leaving O'Dorney as the champion.
O'Dorney said after his win that spelling is not his favourite subject. "My favourite things to do were math and music, and with the math I really like the way the numbers fit together," he said.