MIAMI -- Dion Waiters scored 20 points, Tyler Johnson added 16 and the Miami Heat beat the Toronto Raptors 104-89 on Saturday night, improving to 21-4 over their last 25 games.

Goran Dragic scored 15 and Hassan Whiteside added 12 points and 14 rebounds for Miami.

Dragic played only 41 seconds in the second half, leaving after taking an elbow from Toronto's Cory Joseph. Dragic eventually returned to the bench with an icepack over his right eye, which appeared to be swollen nearly shut.

DeMar DeRozan scored 17 points for the Raptors, who have lost 15 of their last 24 games. Toronto, still without injured All-Star point guard Kyle Lowry, managed only seven assists -- an NBA low for any team this season -- on 32 field goals.

DeRozan was 5 for 10 from the field in the first quarter, and 0 for 6 the rest of the way. Norman Powell scored 14 and Delon Wright, the brother of former Heat player Dorell Wright, scored a season-high 13 for the Raptors.

The Heat (32-34) moved past idle Chicago (31-34) for No. 9 in the Eastern Conference, remaining a game behind No. 7 Detroit (33-33) and a half-game back of No. 8 Milwaukee (32-33).

"We've made up a lot of ground," Heat coach Erik Spoelstra said. "Things will take care of itself if we handle our business."

Miami made 11 3-pointers. It has won 17 consecutive games when making at least 10 from beyond the arc.

"You better respect them because they're here to stay," Raptors coach Dwane Casey said. "They have pride. They're playing with a tremendous amount of confidence."

The Raptors trailed by as many as 25 and lost Patrick Patterson with 9:55 left, after he was ejected following Toronto's fifth technical of the night. A 12-0 run in the fourth got Toronto within 11, but the Raptors never got the Heat lead down to single digits in the second half.

TIP-INS

Raptors: DeMarre Carroll (left ankle soreness) was originally penciled into the starting lineup, then was a late scratch and replaced by Norman Powell. ... Toronto finished 2-3 on its five-game road trip. ... The Raptors were called for three technical fouls, the Heat for two. ... After falling in Atlanta on Friday, Toronto has now lost consecutive games for the first time since Feb. 12 and 14.

Heat: Miami made its first seven shots, four of those from 3-point range. ... The Heat were held to two rebounds in the first quarter, tying a franchise low for any quarter. ... Whiteside got his eighth consecutive double-double and 44th of the season. He is nine shy of the Heat single-season record of 53, set by Rony Seikaly in 1991-92.

HELLO AGAIN

Toronto forward Serge Ibaka started for the third time at Miami this season, tying a regular-season record for any Heat opposing player. He also started twice for Orlando in Miami this season before getting traded to the Raptors. Ibaka could make what would be his record-setting fourth start in Miami on March 23, when Toronto returns.

LITTLE DIFFERENT

Miami visits Indiana on Sunday for the first time since Dec. 11, 2015. The Heat used 10 players in that game; of those, only three -- Dragic, Whiteside and Josh Richardson -- have played for Miami this season.

UP NEXT

Raptors: Host Dallas on Monday, the start of a two-game homestand. Toronto and Dallas haven't met yet this season.

Heat: Visit Indiana on Sunday. The Miami-Toronto game ended at 10:30 p.m.; with Daylight Savings Time set to rob them of an hour, that left the Heat exactly 18 1/2 hours before tip-off against the Pacers -- with a two-hour flight to make as well.