Two dreadful errors ended Real Madrid's slim hopes of winning the Liga title as Celta Vigo claimed a shock 2-0 victory on Sunday.
Back-to-back draws with Valencia and Real Valladolid left Madrid needing to win their two remaining fixtures and hope that Atletico - with a better head-to-head record against their city rivals - slipped up in both of theirs.
But despite Atletico only drawing at home to Malaga, Carlo Ancelotti's men are now out of the running after failing to do their part.
Real's defenders were their chief culprits, as mistakes from Sergio Ramos and Marcelo helped Charles to perhaps the simplest double of his career.
All eyes will now turn to the Camp Nou, where defending champions Barcelona will host Atletico in a mouth-watering championship decider next weekend.
Barcelona, who are three points adrift in second, will win the league with a victory while Atletico need only to avoid defeat.
Real were hampered from the off, with a thigh injury ensuring that Cristiano Ronaldo could not even take a place on the bench.
Fellow big-money recruit Gareth Bale was among the substitutes, while Sami Khedira started a game for the first time since damaging knee ligaments in November.
It was the visitors who started on the front foot, their first opening coming when Marcelo's powerful half-volley was deflected just wide.
But Celta began to press thereafter, with Fabian Orellana looking particularly threatening.
Ancelotti's side defended impressively to weather that spell without giving up any real chances and gradually began to impose their will on the game.
Their attacking intent almost led to an opener in the 35th minute, Isco forcing a superb reaction save from Sergio Alvarez with a low effort.
Another chance went begging when Alvaro Morata fired Marcelo's low cross wide - and Real were left to rue their profligacy as the home side took the lead three minutes before the break.
Ramos was the culprit, his slip leaving Charles to round Diego Lopez and slide the ball into the empty net from a tight angle.
As expected, Real came out positively after the break and almost levelled matters when Luka Modric shot over in the process of being brought down in the area by Jon Aurtenetxe, the referee turning down strong penalty appeals.
Undeterred, the visitors pressed forward further, with Morata and Isco again testing Alvarez.
But the latter's chance, in which he shot straight at the goalkeeper, prompted an immediate reply as Celta increased their lead.
Marcelo was at fault this time, selling Lopez short with an awful back-pass that allowed Charles to nip in and grab his second.
Real pushed desperately to get back into it late on, but the inspired Alvarez combined with some dogged defending to keep them out.
|Palestino 3 Santiago Wanderers 1: Title drought almost over for hosts|
|Copa del Rey Review: Finnbogason breaks drought in Sociedad win|
|Coupe de la Ligue Review: PSG scrape into quarters, Lille, Monaco win on penalties|
|Worcester City 1 Scunthorpe United 1 (aet, 13-14 on pens): League side narrowly avoid shock|
|Stambouli hails ´perfect´ Tottenham|
|Goals win games - Pardew|
|Bundesliga Review: Dortmund held by late equaliser, Leverkusen beat Bremen|
|PSV 4 Feyenoord 3: De Jong hat-trick helps settle thriller|
|Rodgers hails ´brilliant´ Liverpool|
|Eredivisie Preview: Leaders PSV take on struggling Eagles|
|Madoui hails second-half display|
|Championship Preview: Reading´s Clarke era begins at Watford|
|Liverpool to meet Chelsea in League Cup semi-finals|
|San Lorenzo 2 Auckland City 1: Extra time required to book Real final|
|AC Ajaccio 1 PSG 3: Late show sends holders through|
|Bournemouth 1 Liverpool 3: Sterling brace helps ease pressure|
|Tottenham 4 Newcastle United 0: Pochettino´s men march into semi-finals|
|Borussia Dortmund 2 Wolfsburg 2: Naldo denies Klopp´s strugglers|
|League Two Preview: Moore looks for fighting spirit, Accrington aim to bounce back|
|Allegri has suspension overturned|
|ES Setif 2 Western Sydney Wanderers 2 (5-4 on pens): Algerians rely on penalties to finish fifth|
|Ligue 1 Preview: Fournier not expecting to claim top spot, Marseille entertain Lille|
|Indian Super League Review: Kerala through to face Kolkata in final|
|Lasogga suffers thigh strain|
|Michael Garcia FIFA resignation notice in full|
|Bayern draw not ideal - Lucescu|
|Garcia resigns from FIFA role|
|Mainz v Bayern Munich: Bavarians on brink of more records|
|Garcia to fight two-match ban|
|Green backs Mignolet to return stronger|
|Mandzukic and Koke to lead inexperienced Atleti XI|
|Fonte apologises to fans after cup defeat|
|Metz suspend Maiga after unauthorised absence|
|Agent: Cole settled at Roma|
|Bayern duo sign new deals|
|Allegri calls for Juve focus ahead of Cagliari trip|
|Pearson accepts FA charge after fan row|
|Mourinho rules out January signings|
|Schaars set for PSV absence after knee surgery|
|Traore wants more Barca chances|
|Hamann hopes Liverpool receive cup boost|
|Lukaku wants Everton to produce Premier League best in Europe|
|La Liga Preview: Barca host Cordoba, Atletico travel to Bilbao|
|A-League Preview: Berisha crucial for Milligan-less Victory|
|Tena: Real ´by far the better team´|
|Blanc avoids Mourinho mind games, hails retiring Henry|
|Hecking convinced Dortmund remain dangerous|
|United´s Jones insists injuries are behind him|
|Henry: Managing Arsenal is my dream|
|Hard to imagine a better performance - Luis Enrique|
|Copa del Rey Review: Goals rain in Spain|
|Benatia to sit out Mainz clash|
|Koeman slams ´disrespectful´ Sheffield United|
|Barcelona 8 Huesca 1 (12-1 agg): Pedro treble sets up big win|
|Coupe de la Ligue Review: Nantes come from two down, Bastia knock out Caen|
|Penalty save was key, says Ancelotti|
|Mourinho pleased with professional approach in Derby win|
|FA Cup Review: Yeovil set up Man United clash, Tranmere to face Swansea|
|Bundesliga Review: Stuttgart move off bottom, Bayern win again|
|Sheffield United 1 Southampton 0: McNulty secures semi-final spot for third-tier side|
|Derby County 1 Chelsea 3: Premier League leaders progress|
|Cruz Azul 0 Real Madrid 4: Spanish giants cruise into final|
|Bayern Munich 2 Freiburg 0: 100 not out for Robben as champions cruise|
|Cagliari v Juventus: Barzagli unconcerned by successive draws|
|ECA and EPFL make case for May World Cup in 2022|
|Atletico Madrid v L´Hospitalet: Simeone likely to rotate|
|Serie A Preview: Morata chasing goals, Roma host Milan|
|Hartlepool appoint Moore following takeover|
|Parma appoint new president|
|Garcia handed two-match ban|
|Reading appoint Clarke to replace Adkins|
|Conte rules out resignation|
|Adebayor will not face Newcastle - Pochettino|
|Zhang seals Wolfsburg switch|
|SFA rejects Tonev appeal|
|Garcia report appeal rejected by FIFA|
|Herrera denies involvement in match-fixing|
|Thierry Henry: Moments that defined a genius|
|UEFA opens proceedings against Celtic|
|Rodgers denies talk of dressing-room rift|
|Jonas will be given a chance - Pardew|
|AFC asks Australia to increase security for Asian Cup|
|D´Ambrosio sets Inter sights on third|
|Williams wants Swansea to share goalscoring burden|
|Saudi Arabia appoint Olaroiu|
|Martinez lauds Barkley|
|Thierry Henry announces retirement|
|Rooney: United can win title|
|ES Setif v Western Sydney Wanderers: Topor-Stanley to miss fifth-place play-off|
|Beasley calls time on international career|
|Tena: We expect to face Real´s best|
|Martinez wary of Young Boys´ artificial pitch|
|Dudek: Everyone under pressure at Liverpool|
|Martinez hails ´devastating´ attack|
|Redknapp: QPR´s road woes more than bad luck|
|Defeat harsh on QPR - Redknapp|