Zeile retired following the 2004 season. Having planned his retirement in advance (and with the Mets well out of the playoff race), Mets manager Art Howe let Zeile once again start as a catcher, his original position, on September 18, 2004. It was Zeile's first appearance there in 14 years. It was the second-longest span ever between appearances at the position. Gabby Street caught a game in 1931 after last having caught in 1912. Zeile's span is now the third longest, since Craig Biggio started the final game of his career at catcher after a 16-year span.
Zeile got one final start as a catcher two weeks later on October 3, 2004 in the season's final game, as the Mets' regular catcher, Jason Phillips's foot hurt him and he could not play. In the 6th inning, in his final at-bat as a major leaguer, Zeile hit a three-run home run to left-field off Montreal Expos pitcher Claudio Vargas. In the 8th inning, in his final play as a major leaguer, Ryan Church popped up to him, as a catcher, in foul territory. It was also John Franco's last out made as a Met pitcher. The Mets won the game, 8-1. Both games Zeile caught in his final season were started by Tom Glavine.
He also pitched an inning with the Mets when they didn't have any pitchers left, as he gave up 5 runs in the 8th inning in the Mets' 19-10 loss to Montreal on July 26, 2004. It was his second appearance as a pitcher, having also appeared in a game for the Rockies in 2002.
On October 3, 2004, he became one of 41 players (as of 2011) ever to hit a home run in his final at bat. Zeile's final home run also made him the last person ever to hit a home run off a Montreal Expos pitcher. Following that game, which was the last of the season, the Expos moved to Washington, D.C. and became the Washington Nationals.