Bristol City midfielder Marlon Pack scored his first goal of the season to condemn Leeds United to their first defeat in five matches.
City’s third win in a row moves them up to fifth in the Championship.
Pack won the ball before slotting home from close range after a neat one-two with Lee Tomlin.
Leeds, who had boss Garry Monk sent to the stands late on, had not lost away from home since the opening day of the season.
Leeds winger Hadi Sacko missed the visitors’ best chances while City striker Tammy Abraham failed to net for only the fifth time this season.
Lee Tomlin and Chelsea loanee Abraham, the Championship’s top-scorer, squandered first-half chances for the hosts.
Dallas’ pass found Sacko, who forced a good save from Bristol City goalkeeper Frank Fielding after evading defender Aden Flint.
Sacko turned provider moments earlier, finding Leeds midfielder Pablo Hernandez who drilled wide.
Leeds goalkeeper Rob Green then saved well from Robins forward Jamie Paterson, after being slid through by Mark Little on the brink of half-time.
After the break, Fielding made a smart stop from Leeds striker Chris Wood after the former Robins loanee seized on a mistake by Iceland defender Hordur Magnusson.
The visitors’ misery was compounded when Monk was sent off late on by referee Keith Stroud, apparently for comments to the fourth official.
City midfielder Bobby Reid almost doubled the scoreline in injury time but his low effort was saved by the legs of Green.
Lee Johnson told BBC Radio Bristol:
“It’s a feeling of relief. It was a physical battle. I’m really delighted with a team performance of true grit and heart. I thought we kept trying to do the right things.
“They are a good side and we have to respect that. To be fair to Leeds United in the first half they administered their plan against us really well.
“I’m delighted with all of the group because a lot of the players were on their last legs the last five minutes.
“I am not going to discredit the position we are in. It’s tight but we are ahead of schedule.”
Garry Monk told BBC Radio Leeds:
“I think we’re growing all the time. I thought our performance deserved a lot more than we got tonight – I thought it warranted at least a point.
“We had the best clear-cut chances in the game. We did not always make the right decisions in the final third and we need to be more clinical.
“We’re growing. The players are growing. We have to bounce back now but we win and lose together.
“We are disappointed with the result but we are not going to get too down about the performance.”