Eintracht Frankfurt beat Cologne 2-0 on Sunday in the Bundesliga.
Frankfurt provisionally moved two places up to third on 39 points from 21 games, one ahead of fourth-placed Wolfsburg who host seventh-placed Borussia Moenchengladbach later. Cologne stayed 14th on 21 points.
In-form Portuguese striker Silva fired Frankfurt ahead with his 18th league goal of the season in the 57th minute and centre back Ndicka sealed the home side's win with a glancing header in the closing stages.
Dortmund cruise past Mainz to book Champions League spot
- West Brom hold Man Utd as visitors' title hopes grow more distant
- Maguire: Decisions are going against Man Utd
Frankfurt dominated and Silva missed several chances in the first half, heading one Filip Kostic cross wide and another over the bar while visiting goalkeeper Timo Horn twice denied Daichi Kamada with superb saves.
Silva finally broke the deadlock with a predator's finish as he dinked the ball over Horn from close range after getting on the end of Eric Durm's wayward low shot from 20 metres.
With Cologne on the back foot, N'Dicka struck in the 79th minute when he met an inswinging Kostic corner and steered it past the wrong-footed Horn.
Champions and leaders Bayern Munich who are on 48 points from 20 games, four ahead of second-placed RB Leipzig, host relegation-threatened Arminia Bielefeld on Monday in the round's final match.
Perez promises Mbappe and €100m to Zidane on one condition - Euro Papers
Eintracht's Champions League hopes all but dashed with loss at Schalke
Frankfurt's home draw with Mainz hands Dortmund edge