The Crew (9-2-4, 31 points) has four wins and three ties in their past eight games to tie Toronto FC for the most points in MLS.
Dallas (5-3-6, 21 points) has two straight draws and is 3-1-2 in its past six games.
Michael Barrios put Dallas ahead in the 38th minute before Youness Mokhtar tied it 62 seconds into the second half. Reto Ziegler's penalty in the 53rd minute restored the Dallas advantage, but Pedro Santos retied it for the Crew in the 62nd.
After Barrios' header from a long service by Fabrice-Jean Picault put FC Dallas up 1-0, the momentum out of halftime immediately shifted to the Crew, thanks to Mokhtar's third goal.
But Harrison Afful fouled Barrios and Ziegler stepped up to convert his fifth PK in six attempts in the past two seasons for the 2-1 lead for Dallas.
He drove the ball to the lower right corner. Room guessed correctly but the ball slipped under his left arm. Ziegler has two goals.
Four minutes after the goal, the Crew thought it found the equalizer from Gyasi Zardes, but the goal was disallowed because of an offside ruling after a video review.
Undeterred, the Crew attacked down the right side. Emmanuel Boateng dribbled to the end line and cut a pass to Zardes, who pushed the ball to Santos for his fourth goal to make it 2-2.
Each team next plays Wednesday when the Crew is home to Montreal and Dallas plays at Houston.