20 years ago, Mark McGwire and Barry Bonds faced off in an epic Home Run Derby contest

When the All-Star Break arrived in July of 1996, the Atlanta Braves were in the midst of defending what would become their only crown jewel from a historic 14-year reign over the National League East. The Core Four-led New York Yankees were on the verge of capturing the first of their four World Series titles in five seasons. And of course, the celebrated Summer of ’98 home run race was still on the horizon, the steroid-era storm clouds yet to form.

Philadelphia’s Veterans Stadium — which dynamite blasts would render a relic in March 2004 — hosted the 1996 Home Run Derby. The 1996 season saw baseballs flying out of yards at a record pace. In 1987, the MLB total spiked to 4,458 home runs before dipping near 3,000 for the ensuing several years. Then in 1996, led by the American League’s 2,742 round trippers, the league-wide home run total surged to nearly 5,000 at 4,962.

The Veterans Stadium crowd of 62,304 would not get to see the previous season’s home run champ Albert Belle, who swatted 50. And as a result of injury, White Sox slugger Frank Thomas wouldn’t participate in the derby either.

"When I heard that [Belle and Thomas] weren’t in it, I thought Mark McGwire would just dominate" Barry Bonds said at the time. "There’s no way any human being could beat him."

In addition to Bonds, the National League side included Houston’s Jeff Bagwell, Colorado’s Ellis Burks, Montreal’s Henry Rodriguez and Florida’s Gary Sheffield. On the AL side, McGwire was joined by Baltimore’s Brady Anderson, Seattle’s Jay Buhner, Toronto’s Joe Carter and Milwaukee’s Greg Vaughn..

While MLB has since modified derby rules, at the time each of the 10 participants would get 10 outs per round with the top four hitters advancing to the second round, and then the top two advancing to the finals from there.

One half the of "Bash Brothers" with Jose Canseco, McGwire, who would spend only one more season in Oakland before getting traded to St. Louis, had already established himself as one of the game’s preeminent sluggers. The San Francisco Giants’ Barry Bonds was no slouch either through his first decade in baseball, having amassed 315 career homers entering the contest. He also led the league in 1993 with 46 homers. And by the way, Bonds was already a three-time NL MVP. But McGwire was the larger and more imposing presence at the time.

Fast forward to Round 2 where McGwire induced a flurry of "oohs and "ahhs" with nine homers that included three upper deck shots, highlighted by a 460-foot blast. The Philadelphia crowd gave Big Mac a standing ovation.

From the other side of the plate in Round 2, Bonds began to shower left field with souvenirs. Not into the upper deck — Bonds mostly swatted line drives including one well-traveled 451 footer.

Bonds finished the round with 10 homers and McGwire with nine. Brady Anderson and Jay Buhner followed with six and two, setting up a Bay Area finals. By this time, slugging during the daytime under nearly 90-degree heat, both men began to fatigue. In this era, participants in the finals got only five outs. As McGwire headed to the plate they exchanged in some playful banter.

"Let’s alternate" McGwire joked to Bonds.

Then McGwire stepped up and took two pitches.

"You weren’t taking before!" Bonds shouted at him.

McGwire then drove a couple balls into the ground before cremating a homer into the upper deck. A shot to the warning track followed and McGwire drove one more over the center field fence before sending one foul for his fifth and final out. Bonds would need three home runs to take the crown.

Bonds stepped up using a bat belonging to the Rockies’ Ellis Burks. Then he took the first pitch before crushing a home run to the upper deck. Then he saw one more pitch before stroking the next ball about 385 field to left field, tying it at 2-2 with still no outs. On the next pitch, Bonds wound up and slammed a no-doubt shot to left field , flipping his bat before walking out of the box and exchanging high fives a chest bump with McGwire.

"The highlight of my career." Bonds said. "I didn’t think I had a shot."

In a postgame interview, Bonds reveled in the victory some more.

"Hi mom. Is that live! I love you. I did it! I beat the great Mark McGwire. I beat Mark McGwire, man!" Mom are you videotaping this? I beat Mark McGwire — twice. Whooo boy."

Up until the McGwire-Bonds duel, the Home Run Derby had yet to cement itself as appointment viewing. Then a dozen years later, Josh Hamilton put on perhaps the greatest show of all — a combination of his redemption story and pure power, when he tirelessly clubbed 28 first-round home runs into the Yankee Stadium — the final year of the original Yankee Stadium.

Hamilton’s moment may never be topped, but if anyone can put on a display like that it’s probably Giancarlo Stanton of the Marlins. His hitting coach in Miami? Barry Bonds.

But Stanton will have to do it at San Diego’s Petco Park, a historically pitcher-friendly stadium that became slightly more manageable for hitters in 2013 when the left field fences moved in about 10 feet.

The bench coach in San Diego? Mark McGwire.

The action begins at 8 p.m. ET on ESPN followed by the All-Star Game on Tuesday night on FOX at 8 p.m. ET.