New York City FC held on until the final moments of the regular season and, in the end, did just enough.

NYCFC drew, 2-2, with Columbus Crew SC at Citi Field on Sunday to secure the No. 2 seed and a knockout-round bye in the Eastern Conference playoffs, thanks in part to out-of-town results.

“I think it was a really good game of football,” manager Patrick Vieira said. “It was a lot of intensity, it was a lot of drama as well.”

The drama lasted until the final moments, when David Villa took a penalty shot in stoppage time. Columbus keeper Zack Steffen made the save, but the NYCFC superstar had already carried the team.

Villa netted two goals in the first half. He headed in the first off a corner from Maxi Moralez in the 18th minute and added the second with a bouncing shot from just inside the 18-yard box in the 45th.

The relief wore off quickly when Columbus’ Josh Williams pushed a leaping header past NYC keeper Sean Johnson to even the score in the 57th minute. Both sides pushed the pace in the ensuing moments, but neither broke through.

Toronto drew with Atlanta, 2-2, while Houston held off Chicago, 3-0. Both needed to happen to clinch the Blues the second seed.

NYCFC will play the first leg of their Eastern Conference semifinal on the road against the highest-remaining seed. The club will host the second leg Nov. 5 at Yankee Stadium.

“There’s a lot of expectations from people,” Vieira said. “So it’s important for us to deliver.”

Sunday’s match had been a game filled with tension from the start, when Columbus’ Ola Kamara took a pass from Federico Higuain and scored 11 minutes in for a 1-0 lead. Villa’s performance followed before the final minutes.

Before the other games went final, Moralez was tripped up in the box three minutes into stoppage time, leading to a video review and Villa’s missed shot. But after a missed attempt by Jonathan Lewis and a diving save from Johnson, the Blues were safe.