WATCH Real Madrid v Atletico Madrid LIVE & ONLY on beIN SPORTS this Monday from 7am AEDT | 2-week free trial
Toni Kroos gave the host a first-half lead at the Santiago Bernabeu with a wonderful effort from 25 yards.
And substitute Marco Asensio sealed the points with a beautiful strike to match 11 minutes from time.
Inter was forced to play the final 26 minutes with 10 men after Nicolo Barella was dismissed for violent conduct.
Needing a win to snatch top spot in Group D, the Nerazzurri made a bright start.
Marcelo Brozovic's dipping volley went just over, while Ivan Perisic saw an effort blocked in the box.
But Madrid took the lead against the run of play; Kroos receiving the ball from Rodrygo before drilling a delicious 25-yard strike past Samir Handanovic.
The host\ went close to doubling its advantage before the break. Luka Jovic chipped Dani Carvajal's precise throughball into the side-netting, while Rodrygo hit the post from 16 yards out.
Barella squandered a great opportunity to equalise three minutes after the restart; blazing over with only Thibaut Courtois to beat.
Handanovic was called into action again at the other end with smart saves to deny Jovic and Casemiro.
Inter's task became harder as they were reduced to 10 men. Following a collision with Eder Militao, Barella threw a punch at the Brazil international's calf and was subsequently dismissed for violent conduct.
And Madrid made its numerical advantage count by sealing the points; Asensio curling a lovely 20-yard effort in off the far post.