CSKA Moscow beat Lokomotiv Moscow 1-0 to retain their title on a pulsating final day in the Russian Premier League.
The city rivals came into Thursday's fixtures each in with a chance of securing the crown - while Zenit travelled to Kuban Krasnodar also hoping to win the league.
CSKA entered the round top of the league on 61 points, with Zenit on 60 in second and third-placed Lokomotiv a further point back.
Zenit were comfortable 4-1 winners, but Zoran Tosic grabbed CSKA's crucial goal as they secured their 12th national title.
Andre-Villas Boas' side came into the game under a cloud after Sunday's encounter with Dinamo Moscow had to be abandoned due to a violent pitch invasion.
But they seized the advantage at Kuban Stadium and were temporarily top when Danny slipped Axel Witsel clear on goal for a 15th-minute opener.
Goalkeeper Vyacheslav Malafeev was forced off with injury soon after and replaced by Yuri Lodygin to keep Zenit nerves jangling.
Meanwhile in Moscow, CSKA defender Vasili Berezutski headed wide from a free-kick as the hosts at Arena Khimki went in search of a precious goal.
Zenit were two up at the break and cruising, Salomon Rondon heading home to double the advantage from Domenico Criscito's cross and a nervy CSKA display saw them go in at half-time goalless - leaving the St Petersburg club 45 minutes away from glory.
However, Leonid Slutsky's team talk revived his side and they finally went ahead in the first minute of the second period.
Tosic pounced on a loose pass in the Lokomotiv midfield before surging forward and drilling a low effort in from 20 yards.
News eventually reached Kuban as Zenit fans watched on deflated, but Oleg Shatov's volley to make it 3-1 cheered them somewhat.
Lorenzo Melgarejo grabbed a consolation for Kuban while, almost exactly at the same time in Moscow, Alan Dzagoev went agonisingly close to sealing CSKA's triumph.
It almost proved costly as Lokomotiv substitute Dame N'Doye hit the post but Slutsky's men held on - Hulk's fourth for Zenit coming after the final whistle in Moscow had blown and counting for nothing.
Elsewhere on the final day, Krasnodar secured UEFA Europa League football for the first time thanks to a 2-2 draw at Amkar Perm.
They will be joined by Lokomotiv and Dinamo Moscow, who lost 3-2 to city rivals Spartak - denied their own top-five spot due to an inferior head-to-head record with Krasnodar.
Matters at the bottom of the table had been decided ahead of the final day. Relegated pair Volga and Anzhi ended their miserable campaigns with home defeats to Ural and Krylya Sovetov respectively.
Krylya's win will boost their confidence heading into the relegation play-offs, and Tom Tomsk also grabbed a win ahead of their own participation - beating Rostov 3-2.
Elsewhere, Rubin Kazan and Terek Grozny rounded off their campaigns with a 1-1 draw.
|Coach: L. Slutsky|
for A. Dzagoev 80'
for S. Doumbia 90+2'
|Ancelotti laments key injuries in title failure|
|AFC Champions League Preview: Evergrande, Al Hilal desperate for wins|
|MLS Review: DC United deny nine-man Revolution, Rapids break drought|
|Bielsa hints at Marseille departure, congratulates Ligue 1|
|Silva, Matuidi eye fourth trophy|
|Jonas deserved golden boot - Jorge Jesus|
|Primeira Liga Review: Benfica celebrate title with home win|
|Ligue 1 Review: Monaco seal final Champions League spot, Marseille take fourth|
|Ancelotti to take sabbatical if sacked by Real|
|Mancini annoyed by ´absurd´ Inter mistakes|
|Simeone hails ´incredible season´|
|Replacing Xavi will be impossible - Luis Enrique|
|Ronaldo hopes Ancelotti will stay|
|Guardiola: We´ll be back stronger|
|Paris Saint-Germain 3 Reims 2: Cavani double sees champions celebrate title with routine win|
|Garitano stands down following Eibar relegation|
|Genoa 3 Inter 2: Kucka strikes blow to visitors´ Europa quest|
|Real Madrid 7 Getafe 3: Ronaldo nets treble and Odegaard makes history|
|Southend United 1 Wycombe Wanderers 1 (aet, 7-6 on penalties): Last-gasp Pigott and Bentley the hero|
|Odegaard becomes Real´s youngest player|
|Gargano omitted from Uruguay Copa America squad|
|La Liga Review: Depor save themselves with stunning comeback at Barca|
|Barcelona 2 Deportivo La Coruna 2: Salomao saves visitors as Xavi bids Camp Nou farewell|
|Granada 0 Atletico Madrid 0: Atleti secure third as hosts survive|
|Juventus 3 Napoli 1: Champions turn on the style|
|Tearful Klopp struggled to say goodbye|
|Scottish Premiership Review: Rangers to meet Motherwell in play-off final|
|Bundesliga Review: Freiburg and Paderborn relegated|
|Borussia Dortmund 3 Werder Bremen 2: Dortmund seal European spot as Klopp says farewell|
|Bayern Munich 2 Mainz 0: Schweinsteiger nets as champions celebrate title|
|Championship play-off final Preview: Karanka and Neil eye swift ascent to Premier League|
|Volland commits to Hoffenheim|
|Monk: Michu likely to move on|
|Allardyce not interested in Newcastle revenge|
|Sherwood confident of Benteke Villa stay|
|Rodgers calls on Liverpool fans to support Sterling|
|Khedira ´frozen out´ by Real|
|Hamstring injury rules Suarez out of Deportivo clash|
|Former Southampton managers hail ´excellent season´|
|Mourinho wants to remain in England after Chelsea|
|Rodgers ´150 per cent sure´ his job is safe|
|Maldini would ´love´ to help Milan|
|Doyle set for Rapids debut versus Whitecaps|
|MLS Review: Champions end winless run on day of late drama|
|Jemez doubted Rayo future|
|Zenga could replace Mihajlovic - Osti|
|Blanc wants to avoid Chelsea-like finish|
|Menez happy in Milan|
|Sherwood: Vlaar wants to stay|
|Arsenal v West Brom: Wenger calls for focus|
|Porto 2 Penafiel 0: Danilo scores in farewell game|
|La Liga Preview: Eibar, Almeria hoping for final-day salvation|
|Eredivisie play-offs: Go Ahead suffer surprise defeat, NAC win|
|South Africa warm up for COSAFA Cup with victory|
|Rodriguez will be like a new signing - Adkins|
|Renard leaves Ivory Coast role amid Lille speculation|
|Howedes doubtful for start of next Bundesliga campaign|
|Deschamps: Pogba and Evra will be happy to face Albania|
|Everton v Tottenham: Pochettino eyeing fifth spot|
|Crystal Palace v Swansea City: Pardew admits to talent envy|
|Van Gaal confident of keeping De Gea|
|Spurs to support Adebayor over family issues|
|Manchester City v Southampton: Koeman expects no favours from hosts|
|Chelsea v Sunderland: Champions set to finally lift trophy|
|Mancini: Inter need quality|
|Van Gaal: No favours for ex-United captain Bruce|
|Leicester City v QPR: Ramsey expects doomed Rangers to show pride|
|Koeman expecting quieter close season|
|Hughes delivers positive update on Bojan|
|Advocaat considering Sunderland offer|
|Hull City v Manchester United: Bruce accepts survival is tall order|
|Stoke City v Liverpool: Rodgers keen to move focus away from Sterling|
|Allardyce won´t let us down, says Bruce|
|Berahino can leave for top-four club - Pulis|
|Aston Villa v Burnley: Sherwood wanting win ahead of cup final|
|Big clubs would be making a ´mistake´ signing Bolasie|
|Peterborough announce Robertson as new manager|
|Relieved Sherwood eager to kick on|
|Newcastle United v West Ham: Carver dreading ´unbearable´ drop|
|Pellegrini unsure over Milner future|
|I am not good enough to win treble every year - Guardiola|
|Luis Enrique refuses to be drawn on Barca future|
|Ntep handed France call-up|
|Allegri compares Juve to class of 2003|
|My future to be decided on Monday - Allardyce|
|Ancelotti expects to stay at Real despite speculation|
|Play-off finals to go ahead despite discovery of World War II bomb|
|Mourinho lauds ´legend´ Lampard|
|Milan v Torino: Shadow of Ancelotti hangs over Inzaghi|
|Speroni extends Palace contract|
|Ramsey issues QPR warning|
|Valverde signs new Bilbao contract|
|Welbeck could miss FA Cup final and England double header|
|League One play-off final Preview: Preston hoping to end hoodoo|
|Rodgers expects Sterling talks to resume|
|Martinez dismisses Oviedo exit talk|
|Neil hoping to draw on previous play-off success|
|Cisse weighing up offers from USA, India and Poland|
|Hazard announced as Premier League´s Player of the Season|
|United should sign Cech if De Gea leaves - Scholes|
|Copa Libertadores Review: Cruzeiro draw first blood away from home|
|MLS Preview: Wondolowski poised for 100-goal club|
|Ligue 1 Preview: Monaco, Marseille, Saint-Etienne battle for Champions League spot|
|Bundesliga Preview: Relegation battle set for dramatic end, Dortmund to farewell Klopp|
|Serie A Preview: Radu in doubt for crucial Rome derby|
|Stankovic denies talk of Inter return|
|Benitez would be ´happy´ to manage Real - agent|
|Newcastle not expecting favours from Allardyce - Carver|
|Lacazette can be ´world class´ - Houllier|
|Hodgson defends Sterling|