Nash dribbled near halfcourt for several seconds before making his move, hoping to create a chance to take the last shot -- but not wanting to run out of time, either.
"You don't want to go too late, in case you don't get anything," Nash said.
Nash finished with 18 points and 11 assists.
Drew Gooden scored a season-high 25 for the Bucks, who lost their third in a row.
|More on Suns-Bucks|
|More NBA coverage|
Brandon Jennings was held to three points -- and only put up four shots in 28-plus minutes.
"I just got in and talked to him," Bucks coach Scott Skiles said. "He looked a bit disconnected. I'm not sure why."
The Suns led 67-50 at halftime, but blew their lead in the second half and needed Nash to rally them at the end.
"It was a great first half -- and a gut-check second half," Suns coach Alvin Gentry said.
With the game tied at 98, Jennings hit a 3-pointer with 3:11 left -- his first points of the game, on only his second shot.
"I just didn't have the shots I usually have," Jennings said. "That's about it."
Dudley hit a pair of free throws to cut the lead to one, then Nash hit a 3-pointer for a 103-101 lead with 2:05 left.
Gooden scored on a driving layup to tie it, but Gortat hit a jumper. Ilyasova was fouled on the other end and hit a pair of free throws to tie it again.
The Suns called timeout with just over 20 seconds left, and Nash dribbled near halfcourt for several seconds before slicing through the Bucks' defense and scoring to give Phoenix the lead. The Bucks couldn't get a shot off on their final possession.
It was an emotional return to Milwaukee for Redd, whose 11-year Bucks career ended with a series of injuries on a big contract that tied up the team's finances. Now coming off the bench for the Suns, Redd played a key role in a second-quarter surge to take control of the game.
"It's just different, man," Redd said. "Odd, weird, nervous. But once I hit the court it all goes away a little bit."
Redd said before the game that it felt strange staying in a hotel, instead of at home, in Milwaukee. When he got to the arena, he said an equipment manager had to stop him and tell him he was walking toward the wrong locker room.
Redd didn't know what kind of reception he would receive from the fans.
"I know where I stand with our fan base," he said before the game. "I've always been appreciative of the fans, in the good times and the bad times, Milwaukee has great fans. In 11 years, they've seen me grow up and seen me get married, see me have kids. So I have nothing but love."
The Bucks showed a short video tribute during the first time out. Fans responded with a warm ovation and Redd waved back.
Redd entered the game later in the first quarter -- then began to look like his old self in the second quarter, scoring eight straight points for the Suns.
"It was pretty much fun to watch," Nash said. "Mike obviously had a huge career here. Trying to be back playing is amazing. For him to come back to Milwaukee under all the things he had to face with his injuries and put on a show like that in the first was exciting for all of us on the bench."
Phoenix led 67-50 at halftime, tying the Bucks' season high for most points allowed in a half -- a mark Milwaukee set only three days beforehand against Chicago. But the Bucks made a big third-quarter surge as the Suns suddenly went cold.
"The one thing we kept saying in the locker room before we walked out for the second half is that if anybody knows Skiles' team, it doesn't matter," Gentry said. "We could have been up 30, it wouldn't have mattered anyway. They're going to keep playing."
- Stephen Jackson returned for the Bucks after Skiles didn't play him in three of the Bucks' past four games. He scored 12 points in 29-plus minutes off the bench. "I'm going to be a professional," Jackson said. "If they call me, I'm going to go out there and work hard and do what I can."
- Gooden was called for a flagrant-1 foul in the first quarter.
- All five Suns starters, and Redd off the bench, scored in double figures.