Andre Silva gave fourth-placed Frankfurt a ninth-minute lead with his 19th Bundesliga goal of the season.
Only Bayern's Robert Lewandowski with 26 goals has had a more prolific season.
Bremen, who started the match in 12th place after going three games without a win, levelled in the 47th minute through Czech star Theodor Gebre Selassie although the goal needed to be cleared by VAR.
Rising American star Josh Sargent sealed the three points just after the hour mark.
Despite the defeat, Frankfurt remain fourth and in the Champions League spots but are seven points behind leaders Bayern who have a game in hand.
Eintracht have a five-point cushion, however, over Bayer Leverkusen in fifth place.
Before the match, Frankfurt players lined up and donned shirts bearing the pictures and names of the 11 people killed in a racist shooting spree in nearby Hanau in February 2020.
Standout matches today