Kamara, Finlay and Meram scored in the first half to help the Crew (3-2-2) build a 3-0 lead. Finlay, who entered the game scoreless for the season, added an insurance goal in the 73rd minute.
"We're really firing on all cylinders right now," Finlay said about the Crew's four-game unbeaten streak. "It's a good way to wrap up April here. We're playing well and we're going to continue doing that."
Kamara opened the scoring in the 21st minute when he settled Finlay's cross with a chest trap and blasted a left-footed shot into the net.
"It feels great," Kamara said about his 200th career MLS game. "It feels like I've played more."
It was Kamara's fifth goal of the season, tying him with Octavio Rivero for the league lead.
Finlay made it 2-0 in the 32nd minute, jumping in front of the defender and finishing Waylon Francis' cross for a one-touch finish. Finlay capped the scoring in the second half by chasing a well-placed pass from Kamara and punching it into the left corner.
"I'm really happy to see Ethan score two goals tonight," Kamara said. "I had told him, 'When you get one, more are on the way.'"
Meram scored in the 44th minute, slicing away from defenders as he drove 40 yards by himself to beat goalkeeper John McCarthy with a left-footed strike.
"All the goals were really pretty in their own way," Finley said. "Goals from all over the place, from every type of guy in every way."
The 18-year old Union (1-5-3) rookie Eric Ayuk scored his first career MLS goal in the 64th minute. He elevated over Crew defender Francis to head home C.J. Sapong's cross and celebrated with a series of flips despite the 3-1 deficit. The Crew had gone 272 minutes without allowing a goal.
The Union lost their fourth straight against the Crew.