Cespedes put on a show in the opening round, hitting twice as many home runs as any of the other seven competitors in the contest. He then made sure the American League finished in front of the National League in home runs hit over the first two rounds and finally breezed by Harper in a battle of emerging stars.
Cespedes finished second to Mike Trout of the Los Angeles Angels last year in balloting for the American League's rookie of the year honor. Harper won the rookie award in the National League.
Harper will be in the starting lineup for the National League in the All-Star Game on Tuesday. Cespedes, who played through a series of nagging injuries and turned in slightly disappointing numbers during the first half of the season, will not be on the American League roster.
Cespedes, who defected from Cubs to the Dominican Republic last year before landing in Oakland, made up for his slow start this season by staring in Monday's competition.
Each contestant stayed at the plate swinging at the pitches of his choice until he recorded 10 outs -- an out being a foul ball or any ball that landed short of the fence in fair territory.
Cespedes hit 17 home runs in the first round with Harper and Baltimore's Chris Davis producing eight. Colorado's Michael Cuddyer was the last of the four semifinalists with seven while Pedro Alvarez of Pittsburgh had six. Cecil Fielder of Detroit and David Wright of the New York Mets had five and Robinson Cano of the New York Yankees had four.
Davis, who leads the majors with 37 home runs at the All-Star break, hit only four out of the park in the second round and Cuddyer had eight. The number of home runs hit in each of the first rounds were added together to determine the two finalists.
Harper needed eight to clinch a spot in the finals and he stopped swinging when he got to that total. Cespedes did not even have to bat because his 17 in the first round was more than anybody else managed in two rounds, but he hit six home runs to ensure the American League would defeat the National League 44-42.
Harper and Cespedes then started at zero in the finals and Harper, batting first, hit eight home runs. Cespedes got to nine while making only five outs. He succeeded Fielder as the Home Run Derby champion.
Benedict Cumberbatch's dramatic reading of R. Kelly lyrics is just what you need
Gal Gadot cast as Wonder Woman for 'Batman vs. Superman'