Malte Amundsen notched an assist for NYCFC (13-7-6, 45 points), which snapped a three-game losing skid where they permitted three goals in each contest.
Sean Johnson did not make an official save en route to recording his MLS-leading 13th shutout of the season. It was the 89th of his career, and he posted 36 of those shutouts while playing for Chicago from 2009-16.
Rodriguez's big day was spoiled after he received a yellow card in the 72nd minute. He will miss NYCFC's match against host Orlando City SC next Sunday due to card accumulation.
Gabriel Slonina finished with three saves for the Fire (8-12-6, 30 points), who have lost two in a row following a 4-0-1 stretch.
NYCFC opened the scoring in the 16th minute after an unmarked Pereira slipped into an open area just outside the box. Rodriguez alertly fed Pereira, who unleashed a right-footed shot that sailed past a diving Slonina for his sixth goal of the season and second in his last four matches.
The match took a scary turn in the 24th minute after Chicago's Kacper Przybylko sustained a laceration to the side of his head following a collision with Amundsen.
Przybylko remained on the field for several minutes while receiving medical attention. He briefly left the field before returning to action in the 31st minute.
NYCFC forced a turnover in their offensive end after applying high pressure on the ball. Pereira stripped Rafael Czichos of the ball near the top of the box, and Rodriguez provided the proper finish from in close in the 46th minute for his third goal of the season.
Sunday's match was moved to SeatGeek Stadium due to the poor field conditions caused by the hectic schedule at Soldier Field in Chicago.