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'
|Wenger ´99 per cent confident´ on Arsenal arrivals as Perez and Mustafi wait in wings|
|Europe´s top four leagues to get four guaranteed Champions League spots|
|Pardew: Zaha not going to Tottenham|
|Bacca relishing life under Montella, aims subtle dig at Mihajlovic|
|Defiant Dortmund emerge from transfer trials in fighting shape|
|Livermore: Positive cocaine test my get out of jail free card|
|Pochettino relishing Champions League bow|
|Ronaldo wants to retire at Madrid at 41|
|CONCACAF Champions League Review: Dragon hold Saprissa, Connection and Progreso draw|
|Herrera: United out to win Europa League|
|Klopp targeting a trophy at Liverpool every year|
|Granada suspend recruit Angulo over failed drugs test|
|City vow to find Hart a new club|
|Palace blast ´ridiculous´ Zaha bid from Tottenham|
|Bravo: Barca will always be in my heart|
|Almost zero chance of Juventus signing James - Marotta|
|Liverpool´s Coutinho could miss Tottenham clash|
|Bilic ´angry and frustrated´ as West Ham crash out of Europe|
|Begiristain confident despite tough group for City|
|West Ham 0 Astra 1 (1-2 agg): Romanian minnows embarrass Hammers again|
|Hammers sign Swiss midfielder Fernandes|
|Humble Ronaldo hails team-mates following UEFA award|
|Krul joins Ajax on loan after signing new Newcastle deal|
|Leicester underdogs again in Champions League - Ranieri|
|Bale gunning for Champions League glory in Cardiff|
|Juventus additions strengthen Champions League bid - Marotta|
|Tuchel relishing ´classic´ Madrid Champions League encounter|
|Changed Burnley determined to survive|
|Ronaldo named UEFA Best Player in Europe for second time|
|Champions League draw in full|
|Guardiola handed Barca return with City in Champions League|
|Guidolin calls on Swansea to avenge Leicester thrashings|
|Eduardo completes Chelsea switch|
|Not easy to see Higuain at Juve - Cannavaro|
|Puel insists Fonte focused on Southampton|
|Ranieri knows Leicester are wanted men in Champions League|
|Puel backs Forster to take England chance|
|Cannavaro questions Juve´s European credentials after Pogba exit|
|Milan: Romagnoli not for sale, despite Chelsea bid|
|´Nobody more exciting than Michail Antonio´ - West Ham chairman|
|Pochettino prioritising transfers over new deals|
|Bravo completes Manchester City switch|
|No Barcelona bid for Mariano, insist Sevilla|
|Rashford drops down to England Under-21 squad|
|Koeman: No Everton interest in Hart|
|Ancelotti has it all - Ballack|
|Nolito eager for Champions League challenge|
|Evra dropped from France squad|
|Oliver Torres agrees Porto return|
|Ancelotti sees no need for Bayern revolution|
|Messi´s Roma goal wins UEFA award|
|Maradona questions Messi U-turn|
|Napoli pledge funds to earthquake victims|
|Hughes confirms Stoke interest in Manchester United defender Jones|
|Bentaleb completes Schalke switch|
|Klopp: Balotelli decision not imminent|
|Manquillo makes Sunderland move|
|Barca complete Cillessen signing|
|Hummels surprised by criticism from Dortmund fans|
|Blatter will accept CAS ruling|
|I do not want Sturridge as a wide player, insists Klopp|
|Schalke close in on Bentaleb and Stambouli|
|Wanted man Sukur denounces coup|
|´Everyone knows my best position´ - Sturridge unhappy at wide role|
|Villa says Alcacer ´knows what to do´ amid Barcelona links|
|Solo ´saddened´ by United States axing|
|Drinkwater signs new Leicester deal|
|Spanish clubs dominate as history beckons for Ancelotti - the Champions League in numbers|
|Lopes sets sights on Lille silverware and Portugal breakthrough|
|´A scholar and a monster´ - Surgeon hails ´unique´ Ronaldo|
|MLS Review: Altidore scores as Toronto move top in east, Galaxy rally|
|CONCACAF Champions League Review: Tigres win, Dallas held|
|Victory lure Rojas back to Melbourne|
|Chaplow suspended two games for verbal abuse, denies homophobia|
|Eduardo farewells Dinamo Zagreb amid Chelsea speculation|
|Zidane shoud give James more respect - Asprilla|
|Solo suspended from USA women´s team for six months|
|Guardiola understands fans unhappiness over Hart situation|
|Burnley and Middlesbrough sent packing from League Cup|
|Coleman baffled by Ramsey´s treatment at Arsenal|
|Six of the best for Gladbach as Rostov rout Ajax|
|Leicester face Chelsea, Northampton host United in League Cup third round|
|Cillessen set to fly out to Barca to complete move|
|Guardiola hails ´legend´ Hart as Bravo wait in the wings|
|Emotional Hart edges towards City exit|
|Manchester City 1 Steaua Bucharest 0 (6-0 agg): City ease through amid Hart-felt goodbyes|
|Ronaldo working hard for Madrid return|
|Pique warns of European Super League dangers|
|AFC Champions League: Damjanovic inspires Seoul, Wanderley puts Al Nasr in charge|
|Rauball re-elected as German league president|
|Cillessen returns for Ajax despite Barcelona talk|
|Surgery for Pereira after De Rossi horror challenge|
|Hart set for City farewell against Steaua|
|CAF Champions League Review: Wydad draw at ZESCO to earn top spot|
|Retiring Keane in Republic of Ireland squad for final time|
|Sion in talks to sign Liverpool outcast Balotelli, claims club president|
|Athletic´s Laporte not distracted by Barcelona visit|
|Keane announces international retirement|
|Clarke named FA chairman|
|Neuer: Schweinsteiger remains one of world´s best|
|Bielsa would call me before coming to Marseille - Passi|
|Watford bring in Janmaat from Newcastle|
|FIFA opens adjudicatory proceedings against disgraced African football officials|
|European Super League could cause ´war´|
|Sampdoria pounce for Praet|
|Zaza agent confirms Napoli talks but rules out loan move|
|No Grigg in Northern Ireland´s World Cup qualifying squad|
|Cahill reflects on ´amazing´ Melbourne City debut|
|Europa League must take priority, Recoba tells Inter|
|Saint-Etienne swoop for Saivet and Veretout|
|Ronaldo: Pepe was the best player at the Euros, not Griezmann|
|Schweinsteiger: Manchester United my last club in Europe|
|Dante sees Nice as a positive move|
|Pique: Barcelona by far the best in Spain|
|Pique backs Stones for success under Pep|
|Coleman dismisses Premier League talk|
|Spurs want Calhanoglu, claims agent|
|Bony an ´option´ for Bilic|
|Leverkusen cannot challenge Bayern, says Ballack|
|Pallotta blasts ´disgusting´ referee after Roma defeat|
|Badstuber taking his time after injury nightmare|
|Conte: Terry return between him and Allardyce|
|We beat Bayern to Dembele - Watzke|
|Wanderers bring back Bulut|
|Moyes rules out Kone exit|
|CONCACAF Champions League Review: Whitecaps, Pachuca win big|
|Bale: I´ll never forget this year|
|Griezmann: I deserve Best Player in Europe Award|
|No surgery for Ayew as West Ham target December return|
|Villarreal did all they could to make it through - Escriba|
|Spalletti rues lack of Roma discipline|
|Conte: Chelsea must learn to kill matches|
|Watford and West Brom crash out of League Cup|
|My longest 90 minutes as a coach - Rodgers|