The 32nd installment of the Hudson River Derby was nothing short of exciting.
New York City FC defeated the New York Red Bulls 3-2 at Sports Illustrated Stadium, completing a regular-season sweep over their bitter rivals for the second straight year.
Here are six thoughts from NYCFC's 12th-ever win over the Red Bulls.

1. Nico Fernández gets it started early
Nicolás Fernández Mercau was a disappointment while filling in for the injured Alonso Martínez last time out against Inter Miami CF. The Designated Player missed a great chance in the first half that would've given NYCFC a 1-0 lead, fluffing his lines from point-blank range.
With Martínez ruled out for this Red Bulls game, Fernández Mercau kept his spot in the starting lineup up top. The 25-year-old made up for the Miami miss just two minutes into Saturday's contest, scoring his second goal of the season with a great finish.
Justin Haak won the ball off Red Bulls forward Wikelman Carmona and played Fernández Mercau in behind, who placed his shot perfectly at Carlos Coronel's far-post for his first-ever Hudson River Derby goal and New York City's second-fastest goal in the rivalry.
Nicolás Fernández scores his second goal of the season | Courtesy New York City FC
2. Andrés Perea: How did you score that?
The Red Bulls tied things up in the 23rd minute through 17-year-old Julian Hall, but NYCFC responded almost immediately.
A cross into the box from Raul Gustavo found the head of Andrés Perea, whose first-time header from far out caught Coronel off his line and miraculously went into the back of the net.
Intentional or not, it was an impressive goal.
Andrés Perea loves scoring against the Red Bulls | Courtesy New York City FC
It was Perea's third goal of the season and his second-ever against the Red Bulls after he scored as part of the 5-1 rout at then-Red Bull Arena last season. Raul Gustavo also recorded his first New York City assist on the goal.
3. Captain Thiago comes up clutch
With NYCFC holding a 2-1 lead at halftime, the Red Bulls capitalized on a mistake and equalized two minutes into the second half.
On a long ball forward, Matt Freese came off his line, and instead of clearing the ball away, headed it to Raul Gustavo, but Carmona did well to get to the ball first. He passed it to Eric Maxim Choupo-Moting, who played a pass across the face of the goal to Emil Forsberg.
The Swedish midfielder didn't miss from the danger zone, beating Freese for his first-ever Hudson River Derby goal.
Emil Forsberg ties things up at 2-2 | Courtesy MLS
But New York City would respond again, taking the lead for the third time in the 65th minute.
Off a corner kick, Perea's bullet header was saved by Coronel and onto the post. Thiago Martins was there to collect the loose change, smashing home the goal for his second-ever goal for NYCFC and first against the Red Bulls.
Thiago Martins with the go-ahead goal | Courtesy New York City FC
4. Matt Freese departs injured
Freese suffered an injury in the first half as Choupo-Moting slid to try to keep the ball in play, but his cleat hit Freese's head.
He opted to stay on the pitch and play, but midway through the second half, he came off. Tomás Romero replaced him, making his fifth-ever New York City appearance.
Playing in one of the biggest games of his young career, Romero came off his line a few times to act as a sweeper keeper and did just enough to see out the victory.
Freese may have a concussion, but the severity of his injury remains to be seen, as Pascal Jansen didn't have a clear update on his status after the final whistle.
5. NYCFC takes the edge in the Derby
The Red Bulls heavily dominated the Hudson River Derby in the beginning, but the tide began to swing NYCFC's way in 2022.
With the win tonight, New York City now has 12W-4D-11L in MLS regular-season play against the Red Bulls and is undefeated in its last five league games against them, riding a four-game winning streak that dates back to last season.
NYCFC also picked up its second straight win at Sports Illustrated Stadium against the Red Bulls and fourth overall in club history.
New York City remains winless against the Red Bulls in win-or-go-home matches in the US Open Cup, Leagues Cup, or the MLS Cup Playoffs, but the head-to-head in MLS play has finally swung in favor of the guys in blue.
6. No Alonso Martínez? No problem
NYCFC fans felt a shiver tingle down their spine when head coach Pascal Jansen announced on Friday that leading scorer Alonso Martínez would not play against the Red Bulls due to a quad injury that had him on a minutes restriction in the 0-4 loss to Miami.
But New York City found a way to get it done thanks to goals from Nico Fernández, Perea, and Thiago Martins, improving to 2W-1D-2L this season without Martínez.
It's a promising sign, considering it's unknown how long Martínez will be out for. With NYCFC having already clinched a playoff spot, Jansen may want to ease Costa Rican back to ensure he is fully healthy when the postseason begins in late October.
New York City will next face Supporters Shield leaders, the Philadelphia Union, at Subaru Park on Saturday, looking to continue its rise up the Eastern Conference.