But Bostjan Nachbar hit a 3-pointer with 1:04 to go, and Kidd followed with a layup and free throw to give New Jersey a 104-101 lead.
Kidd's late layup came after what appeared to be a New Jersey timeout. Portland players relaxed and some went toward the bench.
"Jason was exerting just incredible energy. He ran the fake timeout play to perfection. ... He was going to call a timeout, saw those guys stop, and went in and got the 3-point play," Nets coach Lawrence Frank said.
According to Kidd: "Coach was calling for a timeout and I was just trying to get the ball up, and when I saw everybody start walking toward the bench I took a risk and made the layup -- and got greedy and tried to get a 3-point play. It worked out."
Roy thought the matter was just miscommunication about who was supposed to pick up Kidd.
Outlaw's foul on Kidd with 6.9 seconds left sealed Portland's fate, and Kidd made both free throws for the final margin.
It was Kidd's third triple-double this season, the 90th of his NBA career, and his 52nd with New Jersey.
Carter entered the game with 4:22 to go in the first quarter. Soon thereafter, Roy's jumper gave the Blazers a 16-15 lead.
The Blazers led by as many as 11 points, when Joel Przybilla's dunk made it 31-20. But New Jersey caught up in the second quarter.
Roy hit a 3-pointer with less than a minute left before the half, but Antoine Wright answered with one for New Jersey that narrowed it to 48-45.
Roy scored 21 points in the first half, and was 4-for-4 from 3-point range. But he was cold after the break.
Martell Webster's 18-foot jumper late in the third quarter made it 73-62 for Portland.
New Jersey again closed in, and Nachbar's dunk cut the Blazers' lead to 79-74 as time ran out in the quarter.
Nachbar opened the fourth with a 3-pointer to even it at 79. Nachbar later hit another 3-pointer to give the Nets an 83-82 lead, and Carter added a dunk.
The teams traded the lead down the stretch, until Travis Outlaw's dunk appeared to shift the momentum the Blazers' way.
Nachbar finished with 23 points and was 5-of-8 from 3-point range. Part of New Jersey's success from the floor was because of the focus on Carter, Kidd said.
"He attracts so much attention that guys were getting wide-open shots," Kidd said.
"Vince obviously helped but it was a heck of a team win," Frank said.
New Jersey had not won at the Rose Garden since Nov. 30, 2002.
The Trail Blazers had been perfect at home but they are winless in seven road contests, including a 101-92 loss at Charlotte on Monday.
"They're all tough to swallow. I've felt bad after all of our losses," Roy said. "But this one is a little tougher because it's at home."
The Nets started 4-1 before dropping six in a row, including a 102-75 loss to Utah on Monday.
Malik Allen started at forward for New Jersey for the first time this season. ... Portland swept the two-game series against the Nets last season. ... Roy was knocked around by the Nets in the second half, which could explain his dropoff. After he was fouled by Kidd in the fourth quarter, he shook his wrist for several moments. ... Portland has not won five straight at home since a six-game streak in November 2003.