Josh Williams got his first MLS goal in the 41st minute for Columbus (11-8-6), which won its third staight and extended its unbeaten streak to 3-0-2.
Carlos Valdes scored off a free kick in the 29th minute as Philadelphia (7-13-4) dropped to 0-3-2 in its last five matches. The Union haven't won since beating New England on July 29.
Gaven scored from about five yards out to give the Crew the win.
Williams also received a red card in the 69th minute after an altercation with Union forward Antoine Hoppenot.
Philadelphia entered the game with 24 goals, the second-fewest in the 19-team league behind only Chivas USA with 17.
U.S. Women's national team player Carli Lloyd was an honorary captain and received a large ovation before the game.