Ellis scored 21 points and had 11 assists for the Bucks, who were playing their fourth game in five nights. Ellis' stifling defense helped keep Orlando guard J.J. Redick in check.
|More on Magic-Bucks|
|More NBA coverage|
The Magic dropped their ninth in a row.
Redick made just five of 16 shots from the field and only two of nine from 3-point range.
"The defense that Monta Ellis played tonight on J.J. Redick was as good as you'll see all year," Bucks coach Jim Boylan said.
"For the entire time he was out there, Monta was just totally focused defensively. When he's playing like that, he can guard just about anybody. I just loved the way he was playing, the energy he had on both ends of the floor."
Brandon Jennings had 20 points and Larry Sanders had 17 points, 13 rebounds and six blocked shots for Milwaukee. Ersan Ilyasova added 16 points and eight rebounds. Mike Dunleavy scored 11 points, hitting three of four 3-pointers.
"Everybody moved the ball well. I thought we just had a nice little rhythm going," Boylan said.
"Sometimes when we play with that kind of ease, we can get a little distracted and lose a little focus and we did on a couple of occasions."
Sanders' performance also earned praise from Boylan.
"We're trying to get Larry to understand that if he just dives to the rim, good things are going to happen for him," he said. "Tonight he did that and he was rewarded for that. When he's active like that and blocking shots, he's a game changer."
Sanders said he expected a physical game.
"I was just trying to stay close to that rim. I knew their bigs were going to be real physical and have a lot of energy. I just tried to match it," he said.
"[Harkless] has done a great job of continuing to work on his game and listen and apply the things that are going to make him a really good player in this league," Orlando coach Jacque Vaughn said.
Harkless said he felt Orlando "did a good job competing," despite falling behind by double digits at various times in the game.
"Unfortunately, we didn't come out with the win, but I think we showed what we can do," Harkless said.
The Bucks held on after a late run from the Magic.
The Bucks led 101-86 before Orlando went on a 10-0 run, capped by Redick's 3-pointer from the top of the key with less than a minute left. Ellis hit a pair of free throws to give the Bucks a 103-96 lead. Harkless made a pair of free throws to cut the lead to 103-98. Ellis then added two more foul shots, extending the Bucks lead to seven.
Sanders sealed the win with two free throws.
"We just closed the game out and made shots when we needed to make them. We simply knocked down free throws down the stretch," Ellis said.
Vaughn said he saw a number of positives for his team, despite the loss. All 11 available players for the Magic played.
"This group continues to show themselves. We played everybody available tonight, and we needed it," he said. "We got a lot of contributions. The competitive nature from every guy that stepped on the floor was great to see."
The Bucks scored more than 100 points after managing fewer than 90 points its two previous games, scoring 86 against New York on Friday, and 88 against Chicago on Wednesday.
Playing its fourth game in five nights, Milwaukee began pulling away in the third quarter after the Magic had taken a lead. Despite missing four consecutive free throws to open the period, Orlando grabbed a 55-54 lead on Redick's reverse layup with 8:48 remaining.
The Magic held a 61-60 lead before the Bucks went on a 19-6 run to end the quarter. A key point in the run occurred when Orlando's Kyle O'Quinn missed a dunk. On the ensuing possession, Ilyasova made a 3-pointer, giving the Bucks a 75-65 lead.
The Bucks built an 11-point lead midway through the second quarter on a jump shot by Beno Udrih, but a 12-4 run by Orlando cut the lead to 46-43 with 3 minutes remaining. Milwaukee held on for a 52-48 lead at halftime.
- Magic rookie forward Andrew Nicholson, who recorded the first double-double of his career Friday night against Boston, got his second consecutive start in place of injured Glen Davis, who underwent surgery Friday on his fractured left foot and is expected to miss eight to 12 weeks.
- Magic guard Jameer Nelson didn't play against the Bucks after injuring his forearm in Friday night's game. E'Twaun Moore replaced him in the starting lineup. Arron Afflalo also sat out for Orlando, missing his fourth consecutive game with a strained left calf.
- The Bucks wore replica green uniforms from the 1995-96 season.
- The Bucks committed two fouls in the first 5 seconds of the game.
- Sanders had a blocked shot for the 32nd consecutive game, extending his league-best mark.