Josh Smith, the Hawks' only healthy regular up front, had 22 points and 14 rebounds as Atlanta sent Toronto to its sixth loss in a row.
Hawks coach Mike Woodson said he didn't know when either player would return, but he was encouraged by his team's ability to win with defense.
"They made shots in the first half, but the third and fourth quarters were ours," Woodson said. "It's huge. We're a little short-handed right now. We have to step up until Horford and Williams come back. ... We're not going to rush them."
The Hawks recovered after losing five of six games, including two losses in a three-game road trip.
"Our last five games haven't been great, so to come back home and get a win is great," Johnson said, adding the injuries have made it "tough right now" on the team.
"Everybody else has to step up," Johnson said.
With Atlanta leading 84-83, Moon missed a 3-pointer with 33 seconds left. During a timeout, Moon heard about his questionable shot selection from Chris Bosh and other teammates.
"Just take it to the basket, man," Bosh said after the game. "We can get a better shot.
"We're not in the right positions. We're not making the right passes. We shoot ourselves in the foot every game now."
Following the timeout, Johnson's fallaway jumper pushed the Hawks' lead to three points.
Raptors coach Jay Triano called the loss "a perfect example of how we didn't execute down the stretch at either end of the floor."
"I think we're going to have to find a way to fight through this, and if we do I think we'll be a pretty good basketball team," Triano said. "It's disappointing to lose a game like this, where we had the lead for most of the game."
Moon, who hit a 3-pointer with 4:32 left for a 78-78 tie, defended his miss.
"I guess everybody's upset, but it was an open shot," Moon said. "Anybody can miss an open shot."
Triano said Bosh "has every right" to criticize the miss by Moon.
Jason Kapono missed an awkward jumper in the final seconds after the Raptors almost lost the ball on their final possession.
Bosh had 22 points and 14 rebounds, and Andrea Bargnani had 20 points and 10 rebounds.
The Raptors led by 11 points late in the first half before shooting only 25 percent from the field in the third quarter. Toronto managed only 33 points in the second half and made only 2 of 18 3-pointers for the game.
Toronto (16-27) fell 11 games under .500. The Raptors are 8-20 since a home win over Atlanta on Nov. 28 left them with their last winning record at 8-7.
"We're running out of time," Bosh said.
"We've got to do it now or we'll be watching the first round of the playoffs eating popcorn."
There is speculation that forward-center Jermaine O'Neal, who was held out with a sore right knee, could be traded to Miami.
When asked if he believes a trade is imminent, O'Neal said "I haven't heard that. I don't know about that."
Bosh said a trade wouldn't be a definite cure for the team's problems.
"A trade doesn't necessarily mean a smarter player," Bosh said. "You should work with what you have; that's the best thing to do."
Anthony Parker's jumper with 2:20 left gave Toronto its last lead at 84-82.
Two free throws by Bibby gave Atlanta an 85-84 lead.
The Hawks, who have struggled defensively without Horford, also seemed to be off their offensive game. Five Atlanta players launched air balls: Smith, Bibby, Johnson, Maurice Evans and Thomas Gardner.
Gardner made only his second appearance of the season for Atlanta. He has been on the inactive list in 35 games. ... Hawks G Acie Law sustained a bruised quadriceps in the second quarter and did not return. ... Toronto G Jose Calderon (right hamstring strain) did not play. ... Parker had 12 points, nine rebounds, nine assists and two blocked shots.