Real Madrid entered the La Liga contest off the back of six straight wins in all competitions this season, but they were undone by their rivals, who have moved up into fifth position in the table courtesy of the impressive success.
Carlo Ancelotti's side remain third on 15 points, one point behind the leaders Barcelona, and they will be looking to bounce back in next week's home clash with Las Palmas.
Atletico took the lead in just the fourth minute of the contest, with Morata coming up trumps against his former club, glancing a cross from Samuel Lino into the bottom corner of the net.
The hosts had a chance to double their advantage in the 11th minute when Jose Gimenez found himself free inside the Real Madrid box, but the centre-back's header was wide of the post.
Atletico managed to make it 2-0 in the 18th minute, though, with Griezmann expertly finding the bottom corner with a header after Lino had slid a pass into Saul Niguez, who brilliantly picked out his teammate.
Atletico goalkeeper Jan Oblak twice did well either side of the half-hour mark, first keeping out a long-range Eduardo Camavinga strike before denying Federico Valverde from the resulting corner.
Kepa Arrizabalaga then did brilliantly down the other end to keep out a low strike from Saul during an incredibly open period of the Madrid derby.
Toni Kroos halved the deficit in the 35th minute of the contest, with the German working the space on the edge of the box before excellently picking out the bottom corner with a low strike.
Kroos again tried his luck from distance late in the half, but Oblak was equal to it on this occasion, with Atletico finding it difficult to stem the flow of traffic inside an electric Wanda Metropolitano stadium.
Real Madrid were dominating the ball as the first period reached its conclusion, and it was a fascinating watch in terms of the away side's formation, with Luka Modric, Jude Bellingham, Camavinga and Kroos all taking turns to push forward to join Rodrygo in almost a front two.
Los Blancos thought that they had levelled it at 2-2 shortly before the interval when Camavinga converted from close range after David Alaba had hit the post, but the goal was disallowed for offside, with Antonio Rudiger past the final defender, and he was adjudged to have been involved despite not touching the ball.
Joselu entered for Real Madrid at the break, but Atletico scored a third less than a minute into the restart, with Morata grabbing his second of the match, heading a Saul cross into the back of the net.
The home side came close to a fourth in the 55th minute, with Mario Hermoso meeting a delivery from Griezmann, but his header crashed off the crossbar.
Aurelien Tchouameni, who was surprisingly overlooked for a starting role, sent one narrowly wide of the Atletico post in the 64th minute, before Rudiger flashed one past Oblak's goal from distance six minutes later.
Oblak was then called into action to keep out a strike from Brahim Diaz in the 79th minute, with Real Madrid determined to set up a grandstand finish at Wanda Metropolitano.
Atletico, who came close to a fourth in stoppage time through Memphis Depay, managed to calm matters in the latter stages, though, and there were no real scares for the hosts late on, with Diego Simeone delivering a huge result early in the La Liga season.
Next up for Real Madrid is a home game against Las Palmas on Wednesday night, while Atletico will be looking to build on the morale-boosting win when they travel to Osasuna on Thursday evening.