Flyers forward Claude Giroux was hit with a double-minor penalty for high-sticking with 6:07 left. Greening buried a wrister past Ilya Bryzgalov for his eighth goal seconds later for the 2-1 lead.
The Senators won for the first time since March 28. They had lost the first four games of a seven-game trip and claimed sixth place in the Eastern Conference. They are tied in points with the New York Islanders, two points in front of the eighth-place New York Rangers.