PHOENIX -- This is how the Phoenix Suns' offense was supposed to flow with Shaquille O'Neal.
The Suns would run when they could -- and when they couldn't, they'd settle into a halfcourt offense and feed Shaq in the post.
It went from a work in progress to near perfection as O'Neal scored a season-high 35 points and the Suns beat Milwaukee 125-110 on Tuesday night, extending their domination of the Bucks in Arizona.
"They keep feeding me like that, those are the type of numbers that they can expect out of me," said O'Neal, who had his first 30-point game since March 9, 2007, for Miami against Minnesota. "But sometimes I get those shots and sometimes I don't."
The Suns usually play well when the Bucks come to town. Phoenix beat Milwaukee in Phoenix for the 21st straight time, matching the San Antonio Spurs' string of 21 straight home victories over Golden State for the longest active streak. The last Milwaukee victory in Phoenix came on Feb. 21, 1987, when the Suns played in Veterans Memorial Coliseum on the city's West Side.
The Bucks had no answer for O'Neal, who scored 29 against them in the teams' other meeting this season, a 104-96 Phoenix victory in Milwaukee on Nov. 8.
"His two best games of the year have been against us," Milwaukee coach Scott Skiles said. "For whatever reason, he must feel pretty comfortable against our guys."
O'Neal hit 14 of 19 shots from the floor and 7-of-12 from the line, and he added eight rebounds. O'Neal also threw his weight around on the defensive end -- literally. He blocked three shots and was assessed a technical foul on a hard foul on Richard Jefferson late in the game.
The Suns have struggled to incorporate the lumbering O'Neal into their attack and find an offensive identity under coach Terry Porter, who took over when Mike D'Antoni left for New York.
Tuesday night's victory was a blueprint for what the Suns believe is possible with O'Neal in the lineup. Their 125 points were a season high, as were their 74 points at halftime, when they led 74-64.
Amare Stoudemire added 22 points and Steve Nash had 19 points and 10 assists on a night the Suns resembled the free-flowing team shaped by D'Antoni. Phoenix scored a season-high 36 points in the first quarter, then topped that with 38 in the second.
"That's what everybody envisioned for us to go far," O'Neal said. "That's the type of game we can play."
They'll have to play it without Shaq on Wednesday night against the Lakers in Los Angeles. O'Neal will miss the game to attend the funeral of his 92-year-old great-grandmother, which means rookie Robin Lopez will likely start at center. O'Neal said he hopes to return in time for Friday night's home game against Orlando.
"We got the tempo we wanted, got the opportunity for Shaq in the post, and it was a solid win," Porter said.
Phoenix played with an intensity that has been missing at times -- especially at home, where the Suns are only 6-5.
Before the game, Suns coaches wrote on a blackboard in the locker room, "We must protect our house. No more wins by any visitors in this building."
The Suns shot 63 percent from the floor in the first quarter but led only 36-35 after Charlie Villanueva took an inbounds pass, dribbled 50 feet and swished a 21-footer at the buzzer.
That's when O'Neal took over. With the Suns trailing 47-46, O'Neal hit a layup and drew a foul on Francisco Elson. O'Neal missed the free throw, but on the next possession he sparked a fast break with a blocked shot.
After O'Neal hit another shot in the lane, he drew a double-team and dished to Stoudemire, who dunked to give Phoenix a 56-49 lead.
"Shaq was in a groove and we kept going to him," Stoudemire said.
Meanwhile, Nash was slicing up the Bucks' defense. He had seven assists in the first half, and the prettiest one came on a fast-break dunk by Stoudemire, who drew a foul on Luc Richard Mbah a Moute.
The Suns shot 58.7 percent from the floor and had six players in double figures, including all five starters.
Asked about his team's defense, Skiles said, "Terrible is the first word that comes to mind, but it wasn't that good. So come up with something else. We definitely weren't focused on the defensive end."
Villanueva scored 24 points, Michael Redd had 23 and Richard Jefferson added 22 for Milwaukee, which has lost six of its last eight games.
The last time the Bucks won in Phoenix, the Suns' Goran Dragic and the Bucks' Joe Alexander, Mbah a Moute and Ramon Sessions were not yet a year old, and the Suns' Robin Lopez had not yet been born. The Bucks' first-round pick that season was Scott Skiles, their current coach. Skiles did not play in that game. ... This was the first of back-to-back games for both clubs. The Suns visit the Lakers on Wednesday night, while Milwaukee wraps up a three-game western swing at Golden State.