# 2016–17 First Professional Football League (Bulgaria)

The 2016–17 First Professional Football League is the 93rd season of the top division of the Bulgarian football league system, the 69th since a league format was adopted for the national competition of A Group as a top tier of the pyramid and also the inaugural season of the First Professional Football League, which decides the Bulgarian champion. The season is the first with a new league structure and strict financial criteria where 14 clubs play each other home and away, until the league is split up in championship and relegation playoffs. The new league structure, inspired by the ones used by the Belgian First Division A and Danish Superliga, was approved by the Bulgarian Football Union on 6 June 2016. The fixtures were announced on 8 July 2016.
On 5 May 2017, five rounds before the end of the championship, after winning the away match with Lokomotiv Plovdiv, Ludogorets Razgrad managed to secure the title for a sixth consecutive and overall time. Ludogorets finished 16 points ahead of CSKA Sofia. Levski Sofia finished third.

## Competition format

Starting from the 2016–17 season, a new league format was approved by the Bulgarian Football Union, in an attempt to improve each participating club's competitiveness, match attendance and performance in the league, alongside strict financial criteria. It involves 14 teams playing in two phases, a regular season and playoffs. The first phase includes each club competing against every other team twice in a double round-robin system, on a home-away basis at a total of 26 games per team, also played in 26 fixtures. Seven matches are played in every fixture at a total of 182 games during the first phase. In the second phase, the top six teams form a European qualifying table, while the bottom eight teams participate in a relegation group. The winner of the top group is declared as Champions of Bulgaria and is awarded with the title.

### International qualification

The six top teams compete against each other on a home-away basis. Three matches are played in every fixture of the top six, with the results and points after the regular season also included. At the end of the stage, every team will have played a total of 36 games. The winner of the group is declared as Champions of Bulgaria and automatically secures participation in the 2017-18 UEFA Champions League second qualifying round. The team that ranks second is awarded with a place in the UEFA Europa League qualifying rounds. The third team in the final standings would participate in a play-off match against a representative team from the bottom eight. Depending on the winner of the Bulgarian Cup final, a possible fourth team from the first six may compete in a play-off match for an UEFA Europa League spot instead of the third ranked team.
Note: If the Bulgarian Cup winner has secured its qualification for the European tournaments for the next season through results from Parva Liga, then the place in the UEFA Europa League play-off is awarded to the fourth ranked team in the final standings.

### Relegation

The teams in the bottom eight are split in two sub-groups of four teams, Group A and Group B, depending on their final position after the regular season standings. The teams that enter Group A are the 7th, 10th, 11th and the 14th, and the teams that participate in Group B are the 8th, 9th, 12th and the 13th. Every participant plays twice against the other three teams in their group on a home-away basis. The teams from the bottom eight also compete with the results from the regular season. After the group stages, every team will have played a total number of 32 games. Depending on their final position in Group A and Group B, two sections will be formed, one for a play-off spot in next season's European competitions and one to avoid relegation. The first two teams from each group continue in the semi-finals, and the last two teams of each group continue to the semi-finals for a relegation match. After this phase, one team is directly relegated to the Second League and the remaining two teams will compete in two relegation matches against the second and the third ranked clubs from the Second League.

### Tiebreakers

In case of a tie on points between two or more clubs, tiebreakers are applied in the following order:
* Number of wins;
* Goal difference;
* Goals pro;
* Goals away;
* Fewer red cards;
* Fewest yellow cards;
* Draw

## Teams

Prior to the start of the season, the Bulgarian Football Union announced that every Bulgarian professional football club's application would be considered for the upcoming season, as long as it fulfills the financial criteria. A total of 14 teams would be contesting the league, including the 9 sides from the previous season, plus five promoted clubs from the lower B Group, which would be issued a license by the Bulgarian Football Union. The five approved applications from the lower division were the B Group's last year champions Dunav Ruse, alongside Lokomotiv GO, Neftochimic, Vereya and CSKA Sofia respectively.
Dunav return after a 25-year absence from the top flight, Lokomotiv Gorna Oryahovitsa return after a 21-year absence, Neftochimic return after a two-year absence, Vereya made its debut in the top flight, while CSKA Sofia return after a one-year absence, having played in the third tier the previous season, but managing to administratively promote back to the elite.

### Stadia and locations

Note: From the 2016–17 season onwards, all participating clubs are required to have electric floodlights and adequate pitch conditions under the BFU and TV broadcaster's new licensing criteria. The following stadiums below have either obtained a license under UEFA's category ranking or fulfill the licensing criteria.
| Team | Location | Stadium | Capacity (seating) |
| Beroe | Stara Zagora | Beroe | 12,128 |
| Botev | Plovdiv | Botev 1912 Football Complex | 4,000 |
| Cherno More | Varna | Stadion Kavarna, Kavarna | 5,000 |
| CSKA | Sofia | Balgarska Armia | 18,495 |
| Dunav | Ruse | Gradski | 12,400 |
| Levski | Sofia | Vivacom Arena - Georgi Asparuhov | 25,000 |
| Lokomotiv | Gorna Oryahovitsa | Lokomotiv | 10,500 |
| Lokomotiv | Plovdiv | Lokomotiv | 13,000 |
| Ludogorets | Razgrad | Ludogorets Arena | 8,808 |
| Montana | Montana | Gradski | 6,000 |
| Neftochimic | Burgas | Lazur | 18,037 |
| Pirin | Blagoevgrad | Hristo Botev | 7,000 |
| Slavia | Sofia | Vasil Levski National Stadium | 43,230 |
| Vereya | Stara Zagora | Trace Arena | 3,500 |
Note: On June 15, 2016, the Ministry of Youth and Sports of Bulgaria granted 3 mln. BGN in total for stadium renovations to the following three clubs – Cherno More, Dunav and Lokomotiv GO.

### Personnel and sponsorship

Note: Flags indicate national team as has been defined under FIFA eligibility rules. Players and managers may hold more than one non-FIFA nationality.
| Team | Manager | Captain | Kit manufacturer | Shirt sponsor | Additional |
| Beroe | Ferario Spasov | Ivo Ivanov | Uhlsport | — | Refan |
| Botev Plovdiv | Nikolay Kirov | Lachezar Baltanov | Joma | efbet | — |
| CSKA Sofia | Stamen Belchev | Bozhidar Chorbadzhiyski | Adidas | Mtel | WinBet |
| Cherno More | Georgi Ivanov | Georgi Iliev | Uhlsport | Armeets | — |
| Dunav Ruse | Veselin Velikov | Diyan Dimov | Joma | — | — |
| Levski Sofia | Nikolay Mitov | Veselin Minev | Joma | Vivacom | Strabag, efbet, Spetema |
| Lokomotiv Gorna Oryahovitsa | Aleksandar Dimitrov | Atanas Fidanin | Krasiko | efbet | Prity, Enel, Go Grill |
| Lokomotiv Plovdiv | Voyn Voynov | Martin Kamburov | Uhlsport | efbet | — |
| Ludogorets Razgrad | Georgi Dermendzhiev | Svetoslav Dyakov | Macron | bet365 | Vivacom, Spetema |
| Montana | Atanas Atanasov | Ivan Mihov | Jako | efbet | — |
| Neftochimic | Hristo Yanev | Lyubomir Bozhinov | Krasiko | Masterhaus | — |
| Pirin Blagoevgrad | Milen Radukanov | Yuliyan Popev | Erreà | — | — |
| Slavia Sofia | Zlatomir Zagorčić | Georgi Petkov | Joma | bet365 | — |
| Vereya | Aleksandar Tomash | Elias | Erreà | Trace Group | Spetema |
Note: Individual clubs may wear jerseys with advertising. However, only one sponsorship is permitted per jersey for official tournaments organised by UEFA in addition to that of the kit manufacturer (exceptions are made for non-profit organisations). Clubs in the domestic league can have more than one sponsorship per jersey which can feature on the front of the shirt, incorporated with the main sponsor or in place of it; or on the back, either below the squad number or on the collar area. Shorts also have space available for advertisement.

### Managerial changes

| Team | Outgoing manager | Manner of departure | Date of vacancy | Position in table | Incoming manager | Date of appointment |
| Beroe | Plamen Lipenski | End of caretaker tenure | 31 May 2016 | Pre-season | Aleksandar Dimitrov | 31 May 2016 |
| Montana | Emil Velev | Sacked | 31 May 2016 | Pre-season | Stevica Kuzmanovski | 10 June 2016 |
| Vereya | Zhivko Zhelev | End of contract | 31 May 2016 | Pre-season | Aleksandar Tomash | 10 June 2016 |
| Lokomotiv GO | Aleksandar Tomash | Sacked | 8 June 2016 | Pre-season | Angel Chervenkov | 8 June 2016 |
| Cherno More | Nikola Spasov | Mutual consent | 10 June 2016 | Pre-season | Georgi Ivanov | 21 June 2016 |
| Pirin Blagoevgrad | Naci Şensoy | End of contract | 20 June 2016 | Pre-season | Stefan Genov | 20 June 2016 |
| CSKA Sofia | Hristo Yanev | Resigned | 21 August 2016 | 3rd | Edward Iordănescu | 24 August 2016 |
| Botev Plovdiv | Nikolay Kostov | Resigned | 23 August 2016 | 10th | Nikolay Mitov | 30 August 2016 |
| Botev Plovdiv | Nikolay Mitov | Resigned | 30 August 2016 | 8th | Nikolay Kirov | 1 September 2016 |
| Neftochimic | Dimcho Nenov | Sacked | 17 September 2016 | 13th | Hristo Yanev | 17 September 2016 |
| Lokomotiv GO | Angel Chervenkov | Sacked | 28 September 2016 | 14th | Ivan Kolev | 28 September 2016 |
| Montana | Stevica Kuzmanovski | Sacked | 3 October 2016 | 13th | Atanas Dzhambazki | 4 October 2016 |
| Beroe | Aleksandar Dimitrov | Resigned | 17 October 2016 | 7th | Plamen Lipenski (interim) | 20 October 2016 |
| Lokomotiv Plovdiv | Ilian Iliev | Resigned | 17 October 2016 | 9th | Hristo Kolev (interim) | 18 October 2016 |
| Levski Sofia | Ljupko Petrović | Resigned | 22 October 2016 | 1st | Elin Topuzakov | 24 October 2016 |
| Beroe | Plamen Lipenski | End of caretaker tenure | 26 October 2016 | 8th | Ferario Spasov | 26 October 2016 |
| Lokomotiv Plovdiv | Hristo Kolev | End of caretaker tenure | 31 October 2016 | 7th | Eduard Eranosyan | 31 October 2016 |
| Slavia Sofia | Aleksandr Tarkhanov | Signed by Ural Sverdlovsk Oblast | 2 November 2016 | 10th | Vladimir Ivanov | 3 November 2016 |
| CSKA Sofia | Edward Iordănescu | Resigned | 27 November 2016 | 5th | Stamen Belchev | 27 November 2016 |
| Pirin Blagoevgrad | Stefan Genov | Signed by CSKA Sofia | 9 January 2017 | 11th | Milen Radukanov | 13 January 2017 |
| Lokomotiv GO | Ivan Kolev | Resigned | 2 March 2017 | 13th | Milcho Sirmov (interim) | 2 March 2017 |
| Levski Sofia | Elin Topuzakov | Mutual consent | 2 March 2017 | 2nd | Nikolay Mitov | 2 March 2017 |
| Lokomotiv GO | Milcho Sirmov | End of caretaker tenure | 14 March 2017 | 13th | Aleksandar Dimitrov | 14 March 2017 |
| Lokomotiv Plovdiv | Eduard Eranosyan | Resigned | 9 April 2017 | 5th | Stoyan Kolev (interim) | 12 April 2017 |
| Montana | Atanas Dzhambazki | Resigned | 17 April 2017 | 4th/Group A | Dilyan Ivanov (interim) | 17 April 2017 |
| Lokomotiv Plovdiv | Stoyan Kolev | End of caretaker tenure | 19 April 2017 | 6th | Voyn Voynov | 19 April 2017 |
| Montana | Dilyan Ivanov | End of caretaker tenure | 24 April 2017 | 4th/Group A | Atanas Atanasov | 24 April 2017 |
| Slavia Sofia | Vladimir Ivanov | Demoted to assistant | 11 May 2017 | 3rd/Group A | Zlatomir Zagorčić | 11 May 2017 |
a.^ Initially interim, made permanent 19 January 2017. b.^ Initially interim, made permanent 16 December 2016. c.^ Initially interim, made permanent 16 November 2016. d.^ Initially interim, made permanent 3 January 2017.

## Regular season
### League table

| Pos | Team | Pld | W | D | L | GF | GA | GD | Pts | Qualification |
| 1 | Ludogorets Razgrad | 26 | 21 | 4 | 1 | 69 | 19 | +50 | 67 | Qualification for the championship round |
| 2 | Levski Sofia | 26 | 15 | 6 | 5 | 38 | 17 | +21 | 51 | Qualification for the championship round |
| 3 | CSKA Sofia | 26 | 13 | 7 | 6 | 35 | 16 | +19 | 46 | Qualification for the championship round |
| 4 | Cherno More | 26 | 12 | 7 | 7 | 30 | 24 | +6 | 43 | Qualification for the championship round |
| 5 | Lokomotiv Plovdiv | 26 | 10 | 9 | 7 | 35 | 30 | +5 | 39 | Qualification for the championship round |
| 6 | Dunav Ruse | 26 | 10 | 8 | 8 | 32 | 31 | +1 | 38 | Qualification for the championship round |
| 7 | Botev Plovdiv | 26 | 10 | 5 | 11 | 36 | 42 | −6 | 35 | Qualification for the relegation round |
| 8 | Beroe | 26 | 10 | 5 | 11 | 27 | 28 | −1 | 35 | Qualification for the relegation round |
| 9 | Pirin Blagoevgrad | 26 | 10 | 4 | 12 | 30 | 36 | −6 | 34 | Qualification for the relegation round |
| 10 | Vereya | 26 | 8 | 6 | 12 | 22 | 36 | −14 | 30 | Qualification for the relegation round |
| 11 | Slavia Sofia | 26 | 8 | 4 | 14 | 30 | 45 | −15 | 28 | Qualification for the relegation round |
| 12 | Neftochimic | 26 | 7 | 5 | 14 | 27 | 37 | −10 | 26 | Qualification for the relegation round |
| 13 | Lokomotiv Gorna Oryahovitsa | 26 | 5 | 7 | 14 | 22 | 39 | −17 | 22 | Qualification for the relegation round |
| 14 | Montana | 26 | 3 | 3 | 20 | 16 | 49 | −33 | 12 | Qualification for the relegation round |
* 1 2 Botev Plovdiv ahead of Beroe on head-to-head record; Beroe–Botev Plovdiv 3–4, Botev Plovdiv–Beroe 2–0.

### Results

| Home \ Away | BSZ | BOT | CHM | CSK | DUN | LEV | LGO | LPL | LUD | MON | NEF | PIR | SLA | VER |
| Beroe | | 3–4 | 0–1 | 0–1 | 0–0 | 1–0 | 1–1 | 3–2 | 0–2 | 2–1 | 2–0 | 1–0 | 1–1 | 1–0 |
| Botev Plovdiv | 2–0 | | 2–3 | 0–0 | 0–2 | 1–1 | 4–0 | 1–1 | 1–3 | 2–0 | 2–1 | 3–2 | 3–2 | 2–1 |
| Cherno More | 1–0 | 1–1 | | 0–2 | 1–0 | 1–0 | 1–1 | 2–0 | 1–3 | 1–0 | 3–1 | 0–0 | 0–0 | 2–1 |
| CSKA Sofia | 4–0 | 0–0 | 1–0 | | 3–0 | 1–1 | 2–0 | 0–1 | 0–2 | 2–1 | 5–1 | 2–0 | 2–0 | 1–1 |
| Dunav Ruse | 0–4 | 1–2 | 3–0 | 2–0 | | 2–2 | 1–0 | 1–1 | 3–5 | 1–1 | 3–0 | 1–0 | 1–1 | 0–0 |
| Levski Sofia | 2–0 | 2–0 | 1–0 | 2–1 | 2–0 | | 1–1 | 1–2 | 1–0 | 0–0 | 1–0 | 2–0 | 1–0 | 4–0 |
| Lokomotiv G. Oryahovitsa | 0–1 | 0–1 | 2–2 | 0–0 | 0–2 | 0–1 | | 2–1 | 0–5 | 0–1 | 0–0 | 1–0 | 1–0 | 5–0 |
| Lokomotiv Plovdiv | 1–1 | 2–0 | 1–0 | 1–1 | 0–0 | 2–2 | 2–1 | | 2–2 | 2–0 | 0–0 | 2–3 | 1–1 | 3–1 |
| Ludogorets Razgrad | 1–0 | 4–1 | 1–1 | 2–1 | 2–2 | 2–1 | 4–0 | 1–0 | | 2–0 | 3–1 | 3–0 | 3–1 | 4–0 |
| Montana | 0–3 | 3–1 | 0–2 | 0–2 | 1–2 | 1–3 | 2–4 | 0–3 | 0–4 | | 2–0 | 1–2 | 1–2 | 1–1 |
| Neftochimic | 1–0 | 4–0 | 1–3 | 0–2 | 1–2 | 1–2 | 1–1 | 1–2 | 1–1 | 2–0 | | 3–1 | 2–0 | 1–0 |
| Pirin Blagoevgrad | 1–1 | 2–1 | 1–3 | 1–1 | 4–1 | 1–0 | 2–1 | 1–0 | 1–3 | 1–0 | 1–0 | | 4–0 | 1–1 |
| Slavia Sofia | 1–2 | 3–2 | 2–1 | 0–1 | 0–2 | 0–4 | 3–1 | 5–2 | 0–2 | 2–0 | 0–3 | 3–1 | | 3–1 |
| Vereya | 1–0 | 1–0 | 0–0 | 1–0 | 1–0 | 0–1 | 1–0 | 0–1 | 1–5 | 3–0 | 1–1 | 2–0 | 3–0 | |

### Positions by round

| Team ╲ Round | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| Ludogorets Razgrad | 12 | 4 | 9 | 6 | 6 | 4 | 3 | 3 | 2 | 2 | 2 | 2 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| Levski Sofia | 6 | 8 | 5 | 3 | 2 | 2 | 1 | 1 | 1 | 1 | 1 | 1 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 |
| CSKA Sofia | 2 | 6 | 3 | 5 | 3 | 6 | 4 | 4 | 4 | 4 | 3 | 4 | 5 | 3 | 5 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 |
| Cherno More | 1 | 1 | 1 | 1 | 4 | 7 | 7 | 8 | 6 | 6 | 4 | 3 | 3 | 4 | 3 | 4 | 6 | 4 | 4 | 5 | 5 | 4 | 5 | 5 | 4 | 4 |
| Lokomotiv Plovdiv | 3 | 9 | 6 | 8 | 9 | 11 | 9 | 7 | 9 | 9 | 10 | 7 | 8 | 6 | 6 | 5 | 4 | 5 | 5 | 4 | 4 | 5 | 4 | 4 | 5 | 5 |
| Dunav Ruse | 5 | 2 | 2 | 2 | 1 | 1 | 2 | 2 | 3 | 3 | 5 | 5 | 4 | 5 | 4 | 6 | 5 | 6 | 6 | 6 | 6 | 6 | 6 | 6 | 6 | 6 |
| Botev Plovdiv | 4 | 13 | 8 | 10 | 8 | 9 | 8 | 5 | 5 | 5 | 6 | 6 | 6 | 8 | 8 | 8 | 8 | 9 | 7 | 7 | 7 | 8 | 7 | 7 | 7 | 7 |
| Beroe | 11 | 5 | 4 | 7 | 5 | 3 | 5 | 6 | 7 | 7 | 8 | 8 | 7 | 9 | 9 | 9 | 9 | 7 | 8 | 8 | 8 | 9 | 10 | 9 | 8 | 8 |
| Pirin Blagoevgrad | 13 | 7 | 10 | 9 | 10 | 8 | 10 | 9 | 8 | 8 | 9 | 9 | 10 | 10 | 11 | 10 | 10 | 11 | 11 | 10 | 9 | 7 | 8 | 8 | 9 | 9 |
| Vereya | 10 | 3 | 7 | 4 | 7 | 5 | 6 | 10 | 11 | 11 | 11 | 11 | 9 | 7 | 7 | 7 | 7 | 8 | 9 | 9 | 11 | 10 | 9 | 10 | 10 | 10 |
| Slavia Sofia | 14 | 14 | 14 | 14 | 12 | 10 | 11 | 11 | 10 | 10 | 7 | 10 | 11 | 11 | 12 | 11 | 11 | 10 | 10 | 11 | 10 | 11 | 11 | 12 | 11 | 11 |
| Neftochimic | 9 | 11 | 13 | 11 | 11 | 12 | 13 | 13 | 14 | 13 | 12 | 13 | 12 | 13 | 13 | 13 | 13 | 13 | 13 | 13 | 13 | 12 | 12 | 11 | 12 | 12 |
| Lokomotiv Gorna Oryahovitsa | 7 | 10 | 11 | 12 | 13 | 13 | 14 | 14 | 12 | 12 | 13 | 12 | 13 | 12 | 10 | 12 | 12 | 12 | 12 | 12 | 12 | 13 | 13 | 13 | 13 | 13 |
| Montana | 8 | 12 | 12 | 13 | 14 | 14 | 12 | 12 | 13 | 14 | 14 | 14 | 14 | 14 | 14 | 14 | 14 | 14 | 14 | 14 | 14 | 14 | 14 | 14 | 14 | 14 |

### Results by round

| Team ╲ Round | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| Beroe | L | W | W | L | W | W | D | L | L | L | L | W | D | L | D | L | W | D | D | W | L | L | L | W | W | W |
| Botev Plovdiv | D | L | W | L | W | L | W | W | D | W | L | D | L | L | L | L | W | L | W | W | L | D | W | D | L | W |
| Cherno More | W | W | D | W | L | L | L | D | W | W | W | W | L | D | W | D | L | W | D | L | L | W | D | D | W | W |
| CSKA Sofia | W | L | W | D | W | L | W | W | D | D | W | L | L | W | D | W | W | D | W | W | W | D | L | W | D | L |
| Dunav Ruse | D | W | W | W | W | W | D | L | L | D | D | L | W | L | W | L | W | L | L | L | W | D | W | D | D | D |
| Montana | D | L | L | L | L | L | W | L | L | D | L | L | W | L | L | L | L | L | D | L | L | W | L | L | L | L |
| Neftohimic | D | L | L | W | L | L | L | L | L | W | D | L | W | D | L | L | L | W | L | W | D | D | W | W | L | L |
| Levski Sofia | D | D | W | W | W | W | W | W | W | D | W | D | W | W | L | L | W | W | W | L | D | D | W | L | W | L |
| Lokomotiv Gorna Oryahovitsa | D | L | D | L | L | L | L | L | W | W | L | W | L | D | W | D | L | D | D | L | D | L | L | L | L | W |
| Lokomotiv Plovdiv | D | D | W | L | D | L | W | W | L | L | D | W | D | W | W | W | W | L | D | W | D | L | W | D | D | L |
| Ludogorets | W | W | L | W | D | W | W | W | W | W | W | W | W | W | W | W | W | W | D | W | W | D | W | W | D | W |
| Pirin Blagievgrad | L | W | L | D | L | W | L | W | W | L | L | D | L | D | L | W | L | D | L | W | W | W | L | W | L | W |
| Slavia Sofia | L | L | L | L | W | W | L | D | W | L | W | L | L | L | D | W | L | W | D | L | W | L | L | L | W | D |
| Vereya | D | W | L | W | L | W | L | L | L | L | D | D | W | W | D | W | L | L | D | L | L | W | D | L | W | L |

## Championship round

Points and goals will carry over in full from regular season.
| Pos | Team | Pld | W | D | L | GF | GA | GD | Pts | Qualification | LUD | CSK | LEV | DUN | LPL | CHM |
| 1 | Ludogorets Razgrad (C) | 36 | 25 | 8 | 3 | 87 | 28 | +59 | 83 | Qualification for the Champions League second qualifying round | — | 1–1 | 0–0 | 0–1 | 1–2 | 4–0 |
| 2 | CSKA Sofia | 36 | 19 | 10 | 7 | 51 | 21 | +30 | 67 | | 1–1 | — | 3–0 | 2–0 | 0–0 | 3–1 |
| 3 | Levski Sofia (O) | 36 | 18 | 9 | 9 | 50 | 31 | +19 | 63 | Qualification for the European play-off final | 1–3 | 0–3 | — | 1–1 | 5–0 | 2–2 |
| 4 | Dunav Ruse | 36 | 15 | 10 | 11 | 46 | 44 | +2 | 55 | Qualification for the Europa League first qualifying round | 2–2 | 1–0 | 0–1 | — | 2–3 | 1–0 |
| 5 | Lokomotiv Plovdiv | 36 | 14 | 10 | 12 | 50 | 52 | −2 | 52 | | 0–3 | 1–2 | 2–1 | 3–4 | — | 2–1 |
| 6 | Cherno More Varna | 36 | 13 | 8 | 15 | 39 | 45 | −6 | 47 | | 1–3 | 0–1 | 0–1 | 1–2 | 3–2 | — |
* 1 2 On 29 May 2017 a UEFA letter to the Bulgarian Football Union declared that CSKA Sofia were not allowed to compete in European tournaments for the following two seasons as they were considered to have been re-formed as a new club and thus did not pass the "three-year rule". As this decision was appealed by CSKA Sofia, the Bulgarian Football Union granted a license to them subject to legal proceedings. A few hours prior to the Europa League first qualifying round draw, UEFA replaced them by Dunav Ruse, the fourth-placed team of the league.

### Positions by round

Below the positions per round are shown. As teams did not all start with an equal number of points, the initial pre-playoffs positions are also given.
| Team ╲ Round | Initial | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| Ludogorets Razgrad | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| CSKA Sofia | 3 | 3 | 3 | 3 | 2 | 2 | 2 | 2 | 2 | 2 | 2 |
| Levski Sofia | 2 | 2 | 2 | 2 | 3 | 3 | 3 | 3 | 3 | 3 | 3 |
| Dunav Ruse | 6 | 5 | 4 | 5 | 5 | 5 | 4 | 4 | 5 | 4 | 4 |
| Lokomotiv Plovdiv | 5 | 6 | 6 | 6 | 6 | 6 | 6 | 6 | 4 | 5 | 5 |
| Cherno More | 4 | 4 | 5 | 4 | 4 | 4 | 5 | 5 | 6 | 6 | 6 |

## Relegation round

Points and goals will carry over in full from regular season.

### Group A

| Pos | Team | Pld | W | D | L | GF | GA | GD | Pts | Qualification or relegation | VER | BOT | SLA | MON |
| 1 | Vereya | 32 | 13 | 6 | 13 | 31 | 40 | −9 | 45 | Qualification for the European play-off quarter-finals | — | 3–1 | 0–1 | 1–0 |
| 2 | Botev Plovdiv | 32 | 13 | 5 | 14 | 51 | 50 | +1 | 44 | Qualification for the Europa League first qualifying round | 0–1 | — | 3–1 | 7–1 |
| 3 | Slavia Sofia (O) | 32 | 11 | 4 | 17 | 37 | 55 | −18 | 37 | Qualification for the relegation play-offs | 0–1 | 0–3 | — | 1–0 |
| 4 | Montana (R) | 32 | 4 | 3 | 25 | 24 | 66 | −42 | 15 | Qualification for the relegation play-offs | 2–3 | 2–1 | 3–4 | — |
* ↑ Botev Plovdiv qualified for the Europa League first qualifying round by winning the 2016–17 Bulgarian Cup.

### Group B

| Pos | Team | Pld | W | D | L | GF | GA | GD | Pts | Qualification or relegation | BSZ | PIR | NEF | LGO |
| 1 | Beroe | 32 | 12 | 8 | 12 | 35 | 33 | +2 | 44 | Qualification for the European play-off quarter-finals | — | 1–1 | 3–0 | 2–3 |
| 2 | Pirin Blagoevgrad | 32 | 12 | 7 | 13 | 41 | 44 | −3 | 43 | Qualification for the European play-off quarter-finals | 1–1 | — | 2–1 | 1–1 |
| 3 | Neftochimic (R) | 32 | 8 | 7 | 17 | 33 | 47 | −14 | 31 | Qualification for the relegation play-offs | 0–0 | 0–3 | — | 4–1 |
| 4 | Lokomotiv Gorna Oryahovitsa (R) | 32 | 7 | 9 | 16 | 32 | 51 | −19 | 30 | Qualification for the relegation play-offs | 0–1 | 4–3 | 1–1 | — |

## European play-offs
### Bracket

| Quarter-finals | Quarter-finals | Quarter-finals | Quarter-finals |
| 16 and 20 May | 16 and 20 May | 16 and 20 May | 16 and 20 May |
| Pirin Blagoevgrad | 1 | 0 | 1 |
| Vereya | 1 | 1 | 2 |
| 15 and 19 May | 15 and 19 May | 15 and 19 May | 15 and 19 May |
| Botev Plovdiv | 3 | 1 | 4 |
| Beroe | 0 | 2 | 2 |
| 27 and 30 May | 27 and 30 May | 27 and 30 May | 27 and 30 May |
| Vereya | – | – | — |
| Botev Plovdiv | – | – | — |
| 4 June | 4 June | 4 June | 4 June |
| Levski Sofia | Levski Sofia | Levski Sofia | 1 (9) |
| Vereya | Vereya | Vereya | 1 (8) |

### European play-off semi-finals

Since Botev Plovdiv qualified for the Europa League first qualifying round by winning the 2016–17 Bulgarian Cup, the semi-finals were not held and Vereya qualified automatically for the play-off final.

### European play-off final
## Relegation play-offs
### Bracket

| First round | First round | First round | First round |
| Match 1 | Match 1 | Match 1 | Match 1 |
| Montana | 1 | 1 | 2 |
| Neftochimic | 3 | 2 | 5 |
| Match 2 | Match 2 | Match 2 | Match 2 |
| Lokomotiv GO | 0 | 1 | 1 |
| Slavia Sofia | 3 | 1 | 4 |
| Match 3 | Match 3 | Match 3 | Match 3 |
| Neftochimic | 0 | 2 | 2 |
| Slavia Sofia | 1 | 5 | 6 |
| Match 4 | Match 4 | Match 4 | Match 4 |
| Montana | 1 | 3 | 4 |
| Lokomotiv GO | 1 | 0 | 1 |
| Match 5 | Match 5 | Match 5 | Match 5 |
| Neftochimic | Neftochimic | Neftochimic | 0 |
| Vitosha Bistritsa | Vitosha Bistritsa | Vitosha Bistritsa | 1 |
| Match 6 | Match 6 | Match 6 | Match 6 |
| Montana | Montana | Montana | 1 |
| Septemvri Sofia | Septemvri Sofia | Septemvri Sofia | 2 |
Winners of matches 3, 5 and 6 will play in the top division next season

### Second round

Lokomotiv Gorna Oryahovitsa are relegated to the Second League.

### Third round

Neftochimic and Montana are relegated to the Second League.

## Season statistics

| Round | Goal of the week | Club | Save of the week | Club |
| 1 | Diogo Viana vs Slavia | CSKA Sofia | | |
| 2 | Aleksandar Vasilev vs Slavia | Beroe | Hristo Ivanov vs Cherno More | Montana |
| 3 | Diogo Viana vs Neftochimic | CSKA Sofia | Vladislav Stoyanov vs Levski Sofia | Ludogorets |
| 4 | Georgi Kostadinov vs Slavia | Levski Sofia | Antonis Stergiakis vs Levski Sofia | Slavia |
| 5 | Bozhidar Kraev vs Vereya | Levski Sofia | Georgi Petkov vs Montana | Slavia |
| 6 | Anton Ognyanov vs CSKA Sofia | Dunav | Martin Lukov vs CSKA Sofia | Dunav |
| 7 | Dimitar Pirgov vs Pirin Blagoevgrad | Levski Sofia | Blagoy Makendzhiev vs Dunav | Beroe |
| 8 | Ventsislav Hristov vs Lokomotiv Plovdiv | Neftohimic | Martin Lukov vs Botev Plovdiv | Dunav |
| 9 | Ivan Minchev vs Vereya | Slavia | Bojan Jorgačević vs Dunav | Levski Sofia |
| 10 | Todor Nedelev vs Beroe | Botev Plovdiv | Nikolay Bankov vs Lokomotiv Plovdiv | Lokomotiv Gorna Oryahovitsa |
| 11 | Añete vs Beroe | Levski Sofia | Hristo Ivanov vs CSKA Sofia | Montana |
| 12 | Atanas Zehirov vs Montana | Beroe | Bojan Jorgačević vs Botev Plovdiv | Levski Sofia |
| 13 | Carlos Ohene vs Lokomotiv Plovdiv | Beroe | Blagoy Makendzhiev vs Lokomotiv Plovdiv | Beroe |
| 14 | Dimitar Pirgov vs Montana | Levski Sofia | Krasimir Kostov vs Cherno More | Pirin Blagoevgrad |
| 15 | Gustavo Campanharo vs Botev Plovdiv | Ludogorets | Yassine El Kharroubi vs Levski Sofia | Lokomotiv Plovdiv |
| 16 | Stanislav Kostov vs Dunav | Pirin Blagoevgrad | Bojan Jorgačević vs Ludogorets | Levski Sofia |
| 17 | Mehdi Bourabia vs Slavia | Levski Sofia | Yassine El Kharroubi vs Cherno More | Lokomotiv Plovdiv |
| 18 | Añete vs Vereya | Levski Sofia | Nikolay Bankov vs CSKA Sofia | Lokomotiv Gorna Oryahovitsa |
| 19 | Vladislav Uzunov vs Beroe | Lokomotiv Gorna Oryahovitsa | Martin Lukov vs CSKA Sofia | Dunav |
| 20 | Anton Karachanakov vs Dunav | Beroe | Ivan Čvorović vs Lokomotiv Gorna Oryahovitsa | Botev Plovdiv |
| 21 | Ivan Minchev vs Cherno More | Slavia | | |
| 22 | Marcelinho vs Neftohimic | Ludogorets | Yanko Georgiev vs Ludogorets | Neftochimic |
| 23 | David Jablonský vs CSKA Sofia | Levski Sofia | Nikolay Krastev vs CSKA Sofia | Levski Sofia |
| 24 | Martin Raynov vs Levski Sofia | Beroe | Dušan Perniš vs Levski Sofia | Beroe |
| 25 | Bircent Karagaren vs Ludogorets | Dunav | Stanislav Antonov vs Ludogorets | Dunav |
| 26 | Fernando Viana vs Montana | Botev Plovdiv | Yanko Georgiev vs Pirin Blagoevgrad | Neftochimic |
| 27 | Añete vs Lokomotiv Plovdiv | Levski Sofia | Stanislav Antonov vs Ludogorets | Dunav |
| 28 | Miroslav Budinov vs Cherno More | Dunav | Yanko Georgiev vs Lokomotiv Gorna Oryahovitsa | Neftohimic |
| 29 | Omar Kossoko vs Slavia | Botev Plovdiv | Stanislav Antonov vs Levski Sofia | Dunav |
| 30 | Fernando Karanga vs Levski Sofia | CSKA Sofia | Georgi Kitanov vs Levski Sofia | CSKA Sofia |
| 31 | Stanislav Kostov vs Beroe | Pirin Blagoevgrad | Stanislav Antonov vs CSKA Sofia | Dunav |
| 32 | Mehdi Bourabia vs Lokomotiv Plovdiv | Levski Sofia | Stefano Kunchev vs Pirin Blagoevgrad | Lokomotiv Gorna Oryahovitsa |
| 33 | Ivan Tsvetkov vs Vereya | Pirin Blagoevgrad | | |
| 34 | Nikolay Minkov vs Lokomotiv Plovdiv | Cherno More | Stanislav Antonov vs Levski Sofia | Dunav |
| 35 | Samir Ayass vs Lokomotiv Plovdiv | Dunav | | |
| 36 | Roman Procházka vs Cherno More | Levski Sofia | | |

### Top scorers

    As of matches played on 31 May 2017
| Rank | Player | Club | Goals |
| 1 | Claudiu Keșerü | Ludogorets Razgrad | 22 |
| 2 | Martin Kamburov | Lokomotiv Plovdiv | 17 |
| 3 | Marcelinho | Ludogorets Razgrad | 14 |
| 4 | João Paulo | Ludogorets Razgrad | 13 |
| 4 | Wanderson | Ludogorets Razgrad | 13 |
| 6 | Todor Nedelev | Botev Plovdiv | 11 |
| 6 | Daniel Mladenov | Pirin Blagoevgrad | 11 |
| 6 | Junior Mapuku | Beroe | 11 |
| 9 | Jonathan Cafu | Ludogorets Razgrad | 10 |
| 9 | Stanislav Kostov | Pirin Blagoevgrad | 10 |
| 9 | Marek Kuzma | Cherno More | 10 |
| 9 | Miroslav Budinov | Dunav Ruse | 10 |
| 9 | Serder Serderov | Slavia Sofia | 10 |
| 9 | Bozhidar Kraev | Levski Sofia | 10 |
| 15 | Ivaylo Dimitrov | Slavia Sofia | 9 |
| 16 | Rahavi Kifouéti | Lokomotiv GO | 8 |
| 16 | Roman Procházka | Levski Sofia | 8 |
| 18 | Tunde Adeniji | Levski Sofia | 7 |
| 18 | Steven Petkov | Montana | 7 |
| 18 | Gustavo Culma | CSKA Sofia | 7 |
| 18 | Branimir Kostadinov | Dunav Ruse | 7 |
| 18 | Dino Martinović | Lokomotiv Plovdiv | 7 |

#### Notes

* ↑ Including 12 goals for Botev Plovdiv.

### Hat-tricks

| Player | For | Against | Result | Date |
| João Paulo | Botev Plovdiv | Lokomotiv GO | 4–0 | 17 September 2016 |
| Junior Mapuku | Beroe | Botev Plovdiv | 3–4 | 16 October 2016 |
| Claudiu Keșerü | Ludogorets Razgrad | Dunav Ruse | 5–3 | 28 October 2016 |
| Claudiu Keșerü | Ludogorets Razgrad | Lokomotiv GO | 5–0 | 12 March 2017 |
| Bozhidar Kraev$^4$ | Levski Sofia | Lokomotiv Plovdiv | 5–0 | 9 April 2017 |

#### Note

$^4$ Player scored 4 goals

## Clean sheets

    As of matches played on 31 May 2017
| Rank | Player | Club | Clean sheets |
| 1 | Georgi Kitanov | CSKA Sofia | 18 |
| 2 | Bojan Jorgačević | Levski Sofia | 12 |
| 3 | Martin Lukov | Dunav Ruse | 10 |
| 4 | Blagoy Makendzhiev | Pirin Blagoevgrad | 9 |
| 4 | Plamen Kolev | Vereya | 9 |
| 6 | Vladislav Stoyanov | Ludogorets Razgrad | 8 |
| 6 | Yanko Georgiev | Neftochimic | 8 |
| 8 | Yassine El Kharroubi | Lokomotiv Plovdiv | 7 |
| 9 | Přemysl Kovář | Cherno More | 5 |
| 9 | Dušan Perniš | Beroe | 5 |
| 9 | Nikolay Krastev | Levski Sofia | 5 |
| 12 | Ivan Karadzhov | Vereya | 4 |
| 12 | Nikolay Bankov | Lokomotiv GO | 4 |
| 12 | Ivan Čvorović | Botev Plovdiv | 4 |
| 12 | Renan | Ludogorets Razgrad | 4 |
| 12 | Stanislav Antonov | Dunav Ruse | 4 |

### Notes

* ↑ Including 5 clean sheets for Beroe.

## Transfers

* List of Bulgarian football transfers summer 2016
* List of Bulgarian football transfers winter 2016–17