The match had a 55-minute weather delay at the 30-minute of the first half. The remainder of the game was played in a downpour and the ball often came to a stop as the players splashed through the puddles. The temperature was in the low 40s at the end.
The Crew (3-1-1) won for the first time in five tries all-time vs. the defending MLS champions (0-2-2).
Santos scored his first goal since March 24, 2018, to put the Crew ahead 1-0 in the second minute.
Wil Trapp passed to Artur down the right flank. He sent a cross to the middle of the box intended for Zardes but the ball deflected off Atlanta defender Miles Robinson and skipped on the wet surface to Santos for his second MLS goal in 44 career matches.
It was the first time the Crew had scored at home in three matches vs. Atlanta and the first time they led in the series.
Steffen made a reactionary left-handed save on a header by Julian Gressel in the 24th minute and 11 minutes later stretched to his right to deny an Ezequiel Barco attempt from the top of the goal box.
The save was key because in the 39th minute Zardes extended the lead to 2-0 with his third goal in three games. He took a service by Robinho at the penalty spot. Even though he was surrounded by three Atlanta players he quickly got off a left-footed shot.
The Crew is 8-0-2 at home since losing 2-0 to Atlanta on June 13, 2018.
Columbus hosts New England on April 6. Atlanta's next MLS match is April 13 at New England.