Bristol City have failed to overturn the red card shown to captain Wade Elliott in Saturday's 1-0 defeat against League One rivals Swindon.
The 35-year-old midfielder was sent off after three minutes following a clash with defender Jack Stephens.
A Football Association disciplinary panel upheld the decision because of "a lack of clear video evidence".
Elliott will now miss games against Preston, Peterborough and the FA Cup second-round tie against AFC Telford.
"With the manner in which it's come about, I'm very disappointed," Elliott told BBC Radio Bristol.
"But I'm more disappointed the decision has been upheld on a technicality.
"Now I have to make sure over the next few weeks I get the right balance between rest and training to make sure I'm ready for when I am available again."
Bristol City's defeat at the County Ground ended their 22-game unbeaten run in the league but they are still top of the table, four points clear of second-placed Swindon and five ahead of Saturday's opponents Preston in third.