SUNRISE, Fla. -- The Florida Panthers scored early and then played enough defense to hang on.
Nick Bjugstad, Drew Shore and Aleksander Barkov also scored for the Panthers. Tim Thomas stopped 31 shots, and Ed Jovanovski had two assists.
"We had chances tonight early in the game and they went in," Florida coach Peter Horachek said.
Thomas Vanek and Colin McDonald scored for the Islanders. Kevin Poulin made 22 saves.
The win was the first for Florida over the Islanders in five games, dating to the 2011-12 season. The Islanders lost for the first time in five games and had a seven-game road winning streak snapped.
Florida took a 4-0 lead on the short-handed goal by Upshall in the second.
He took control of the puck as it slid away from New York's Andrew MacDonald at the blue line and skated in on Poulin, beating him on the stick side at 15:54 for his second short-handed goal of the season and first goal since Nov. 30 against Pittsburgh.
"Anytime you get a flip up to a D-man who has trouble with bouncing pucks, you've just got to get on him," Upshall said. "It was one of those plays that I was lucky to poke it past him and stick with it and make a move."
New York had come from behind in five straight road games to pull out a win, but a 4-0 deficit proved too much to overcome.
"We talked about it before tonight's game, that we wanted a better start," McDonald said. "Obviously, we didn't do that and got ourselves in a deeper hole than in the last couple games. Going down four, it's just too tough to come back."
The Islanders scored with 31 seconds left in the second. Matt Martin passed from behind the net in front to McDonald, who poked the puck past Thomas to make it 4-1.
New York closed to 4-2 on Vanek's goal in the third. Vanek took a pass from Frans Nielsen behind the net and beat Thomas at 2:38.
Thomas faced 15 shots in the third period but was able to keep the Islanders in check after Vanek's goal.
"It's rare in the NHL to have that kind of cushion," Thomas said. "It was nice, but at the same time it's a challenge, too, because you don't want to let the other team back into it. They were right on the brink of coming back there after they got the second goal."
The Panthers took a 3-0 lead in the first, the first time they had scored three goals in a period since a 4-2 win over Dallas in the season opener on Oct. 3.
Florida scored just 32 seconds in for its fastest goal this season. The Islanders turned the puck over at the blue line and Brad Boyes passed to Barkov low in the right circle. His wrist shot beat Poulin.
"Early on we made some tough mistakes that cost us goals right away," Vanek said.
Shore's goal made it 2-0. Shore was the last Panthers player to touch the puck before it went off the skate of defenseman Brian Strait and into the net at 15:34. The goal was Shore's first of the season.
Bjugstad stretched the lead to 3-0 when his shot from in front beat Poulin on the left side with 36 seconds left in the first.
Even though he gave up four early goals, Poulin made some good saves to prevent the game from turning into a rout.
"That's my job, I guess. To give the team a chance to win and that's what I tried to do tonight and every night I'm in," Poulin said. "It wasn't an easy game tonight."
The Islanders killed off a 5-on-3 penalty for 1:14 in the first period. The Panthers' power-play drought extended to 0 for 22 in the past seven games.
The Panthers will host the 2015 NHL draft in Sunrise from June 26-27. ... Jovanovski's two assists were the first points for the Panthers' captain since returning to the lineup from hip surgery on Jan. 4. ... Thomas faced New York for the first time since he left the team as a free agent in July. He was traded to the Islanders from Boston in February but never played a game for them. ... Islanders goalie Evgeni Nabokov, on injured reserve since Jan. 6, has resumed skating but is still inactive.