The Red Bulls surged back from two goals down to beat the Timbers 3-2 thanks to a late Heath Pearce goal, with Socceroos attacker Cahill opening his account for his new side
The visiting side had rushed to a two-goal lead, but New York clawed back and eventually won thanks to Heath Pearce's late header.
Sal Zizzo assisted both of Portland's goals. In the eighth minute he did several step-overs in the box and slipped the ball through several defenders for Bright Dike to open the scoring.
For the second, Zizzo dispossessed Roy Miller deep in the Timbers half and instigated a swift counter-attack by feeding Frank Songo'o along the left flank. Songo'o skipped infield and passed to Zizzo, who pushed a quick pass into the path of Darlington Nagbe. Bill Guadette rushed off his line but could not cut down the angle in time to prevent Nagbe from scoring.
Red Bulls coach Hans Backe reacted immediately, substituting Miller for Kenny Cooper. Cooper took six minutes to score his team-leading 14th goal of the season. Jan Gunnar Solli stood the ball up in the box and Cooper headed home against his former club.
Australia international Cahill scored his first MLS goal to bring the Red Bulls level before the half.
Dax McCarty's long-range shot pinged off a defender's arm in the box, and as referee Jason Anno was whistling for a penalty, Cahill one-timed a volley into the back of the net. Anno decided to count the goal instead.
With 10 minutes remaining, New York finally took the lead. Cooper kept a corner alive, pushing it back to Solli, who dumped it into the box. Pearce rose and snapped a powerful header on target, securing all three points.
Follow Zac Lee Rigg on