The 64th-minute goal by Diaz pushed the Crew (9-6-12, 39 points) to their first win after three consecutive draws. Miami (10-12-6, 36 points) has lost two straight following a pair of wins.
The Crew, who have one loss in the past 15 game (six wins, eight ties), moved ahead of Inter Miami to sixth place in the Eastern Conference.
Room made just the one save for his ninth shutout of the season.
Diaz scored his first goal since the first game of the season on Feb. 26 against the Vancouver Whitecaps. The Wednesday tally came three minutes after his first shot on goal since April 2 against Nashville SC.
The go-ahead score was set up by a leading ball out of the midfield from Steven Moreira. Diaz took the pass in stride on the right flank and used his first touch to create separation before dribbling into the box to score from 7 yards.
Each team was without its playmaker. Miami's Alejandro Pozuelo served a suspension for his red card in the previous match against the New York Red Bulls. He has two goals and four assists in eight games since being acquired in a trade with Toronto FC.
His absence was expected. That of the Crew's Lucas Zelarayan (eight goals, 10 assists in 23 games) was not. He experienced hamstring tightness in warmups and was pulled.
With those two stars missing, the first half lacked pizzazz until Columbus' Cucho Hernandez brought the home fans to their feet in the second minute of stoppage time when he attempted a bicycle kick from a Moreira cross.
Hernandez's shot from 15 yards took one bounce and appeared headed to the right corner before Miami defender Ryan Sailor headed the ball away. A minute later, Sailor blocked another Hernandez try.