# 2017–18 Ukrainian Premier League

The 2017–18 Ukrainian Premier League season was the 27th top level football club competitions since the fall of the Soviet Union and the tenth since the establishment of the Ukrainian Premier League.
The tournament started on 16 July 2017 and ended on 19 May 2018. The relegation play-offs took place on 23 May and 26 May 2018. The league has scheduled to take its winter intermission after Round 19 on 9–10 December 2017 and resume its competition of the Championship with Round 20 on 17 February 2018.
The 10-time winner FC Shakhtar Donetsk were the defending champions.
The league's last season title sponsor, a bookmaker company Parimatch, withdrew from the sponsorship. On 7 July 2017, Pari-Match announced that it had ended its cooperation with the Ukrainian Premier League.
Before the start of the season a scandal arose around promotion between the First League clubs FC Desna Chernihiv and NK Veres Rivne when Veres that placed lower in tournament table was admitted to the Premier League ahead of Desna. Later it was announced that Desna might be promoted as well due to rumors around a financial situation of FC Stal Kamianske. The final decision of the league's composition was adopted at the FFU Conference on 16 June 2017.
With the ongoing War in Donbas, the Round 2 games started with a minute of silence to commemorate the soldiers of the Armed Forces of Ukraine who had perished in the ATO zone.

## Competition format

On 28 April 2017, the Ukrainian Premier League administration announced that its General Assembly of participants adopted decision about changes to the competition format and calendar for the next 2017–18 season. Before the assembly, the UPL Administration presented to its clubs five variants of competition format.
* For the next season UPL will keep 12 clubs (that fact was confirmed at the conference of coaches few days prior);
* Competition will have two stages, with the first stage having 22 rounds and the second stage after team will split into two six-members groups having 10 more rounds in each group;
* Team that placed the 12th will be relegated directly to Persha Liha, teams that placed 10th and 11th will play two-leg play-off with the second and third teams of the Persha Liha.
The format was confirmed by the FFU Executive Committee on 30 May 2017.
The draw for the second stage calendar was announced on 10 February and is scheduled to take place three days later on 13 February 2018.

### Next season changes and a structural reform

On 26 October 2017, the magazine "Futbol" reported quoting the FFU Executive Committee member Artem Frankov that the Ukrainian Premier League at its next earliest session will review a possibility to expand the league back to 16 teams starting since the 2019–20 season. At the same time number of clubs in the Ukrainian First League will be decreased also to 16 teams.
On 8 November 2017, a conference took place involving officials of the Ukrainian Premier League as well as the Football Federation of Ukraine (FFU) where its participants were discussing a reorganization of competition system in professional and amateur football. A decision about the reform was adopted by the FFU Executive Committee on 20 June 2017.

## Teams
### Promotions

Two teams were promoted to the league (instead of the relegated FC Dnipro and FC Volyn Lutsk):
* FC Mariupol (renamed after the previous season) – the champion of the 2016–17 Ukrainian First League (returning after two seasons absence)
* NK Veres Rivne – third place of the 2016–17 Ukrainian First League (returning for the first time since 1994–95, 22 seasons absence)

### Location map

The following displays the location of teams.

### Stadiums

Five teams play their matches outside of home towns. The minimum threshold for the stadium's capacity in the UPL is 5,000.
The following stadiums are regarded as home grounds:
| Rank | Stadium | Place | Club | Capacity | Notes |
| 1 | NSC Olimpiyskiy | Kyiv | Dynamo Kyiv | 70,050 | |
| 2 | OSC Metalist | Kharkiv | Shakhtar Donetsk | 40,003 | Used as home ground during the season. |
| 3 | Arena Lviv | Lviv | Veres Rivne | 34,915 | Used as home ground during the season. |
| 4 | Chornomorets Stadium | Odesa | Chornomorets Odesa | 34,164 | |
| 5 | Ukraina Stadium | Lviv | Karpaty Lviv | 28,051 | |
| 5 | Ukraina Stadium | Lviv | NK Veres Rivne | 28,051 | Round 32 (last round) |
| 6 | Vorskla Stadium | Poltava | Vorskla Poltava | 24,795 | |
| 7 | Meteor Stadium | Dnipro | Stal Kamianske | 24,381 | Nominally reserved as the home station for Stal where it played only its first game. |
| 8 | Lobanovsky Dynamo Stadium | Kyiv | Olimpik Donetsk | 16,873 | Used as home ground during the season. |
| 8 | Lobanovsky Dynamo Stadium | Kyiv | Dynamo Kyiv | 16,873 | Dynamo used the stadium since April 2018 since NSC Olympiyskiy was getting ready to host the 2018 UEFA Champions League Final. |
| 9 | Zirka Stadium | Kropyvnytskyi | Zirka Kropyvnytskyi | 13,667 | |
| 10 | Illichivets Stadium | Mariupol | FC Mariupol | 12,680 | |
| 11 | Slavutych-Arena | Zaporizhia | Zorya Luhansk | 12,000 | Used as home ground during the season. |
| 12 | CSC Nika Stadium | Oleksandriya | FC Oleksandriya | 7,000 | |
| 13 | Obolon Arena | Kyiv | Stal Kamianske | 5,100 | De facto, the home stadium of Stal. |
Notes:
* ↑ The reconstruction is intended to be finished mainly by the beginning of next season, while finishing touches might be applied until August 1, 2017.'"`UNIQ--ref-00000011-QINU`"' The renovations are conducted in preparation to the 2017–18 UEFA Women's Champions League for which the Dynamo Stadium is chosen to be a venue of the final game.'"`UNIQ--ref-00000012-QINU`"'
* ↑ Officially renamed as Volodymyr Boiko Stadium, the stadium is listed as Illichivets at the Ukrainian Premier League website'"`UNIQ--ref-00000014-QINU`"'

### Personnel and sponsorship

| Team | President | Head coach | Captain | Kit manufacturer | Shirt sponsor |
| Chornomorets Odesa | Leonid Klimov | Kostyantyn Frolov | Serhiy Lyulka | Legea | Gefest |
| Dynamo Kyiv | Ihor Surkis | Alyaksandr Khatskevich | Viktor Tsyhankov | adidas | UEFA No to racism |
| Karpaty Lviv | Petro Dyminskyi | Oleh Boychyshyn | Artem Fedetskyi | Joma | ZIK |
| Mariupol | Pavlo Rozumnyi | Oleksandr Babych | Rustam Khudzhamov | Nike | Favorit Sport |
| Oleksandriya | Serhiy Kuzmenko | Volodymyr Sharan | Andriy Zaporozhan | Nike | UkrAhroKom |
| Olimpik Donetsk | Vladyslav Helzin | Roman Sanzhar | Zauri Makharadze | Joma | Pari-Match |
| Shakhtar Donetsk | Rinat Akhmetov | Paulo Fonseca | Taras Stepanenko | Nike | SCM |
| Stal Kamianske | Vardan Israelian | Nikolay Kostov | Maksym Zaderaka | Hummel | — |
| Veres Rivne | Bohdan Kopytko | Andriy Demchenko (interim) | Serhiy Borzenko | Joma | Global Development |
| Vorskla Poltava | Roman Cherniak | Vasyl Sachko | Volodymyr Chesnakov | adidas | Ferrexpo |
| Zirka Kropyvnytskyi | Maksym Berezkin | Roman Monaryov | Maksym Drachenko | Joma | — |
| Zorya Luhansk | Yevhen Heller | Yuriy Vernydub | Oleksandr Karavayev | Nike | Favorit Sport |
Notes:
* Ever since Darijo Srna was tested positive for doping (dehydroepiandrosterone among others), on 22 September 2017 he voluntarily stopped participation in competitions and on 20 November 2017 he has been suspended by UEFA for the continental competitions. The team's captain for Shakhtar has been served either by Taras Stepanenko or Taison. On 22 February 2018, the disqualification was officially applied and retrospectively including the time he was suspended from competitions. The start time of disqualification was identified as 22 March 2017 (date of test taken) and the end time shall be no earlier than 22 August 2018.

### Managerial changes

| Team | Outgoing manager | Manner of departure | Date of vacancy | Table | Incoming manager | Date of appointment | Table |
| Dynamo Kyiv | Serhii Rebrov | End of contract | 31 May 2017 | Pre-season | Alyaksandr Khatskevich | 2 June 2017 | Pre-season |
| NK Veres Rivne | Yuriy Virt (caretaker) | Change of contract | 6 June 2017 | Pre-season | Yuriy Virt | 6 June 2017 | Pre-season |
| Stal Kamianske | Leonid Kuchuk | End of contract | 6 June 2017 | Pre-season | Yegishe Melikyan | 25 June 2017 | Pre-season |
| Karpaty Lviv | Oleg Dulub | Resigned | 11 June 2017 | Pre-season | Sergio Navarro | 16 June 2017 | Pre-season |
| Chornomorets Odesa | Oleksandr Babych | Resigned | 21 August 2017 | 12th | Oleksandr Hranovskyi (caretaker) | 21 August 2017 | 12th |
| Chornomorets Odesa | Oleksandr Hranovskyi (caretaker) | End of interim spell | 30 August 2017 | 12th | Oleksiy Chystyakov (caretaker) | 30 August 2017 | 12th |
| Chornomorets Odesa | Oleksiy Chystyakov (caretaker) | End of interim spell | 4 September 2017 | 12th | Oleg Dulub | 4 September 2017 | 12th |
| Karpaty Lviv | Sergio Navarro | Sacked | 14 September 2017 | 10th | Serhiy Zaytsev | 14 September 2017 | 10th |
| FC Mariupol | Oleksandr Sevidov | Mutual consent | 22 September 2017 | 5th | Oleksandr Babych | 22 September 2017 | 5th |
| Stal Kamianske | Yegishe Melikyan | Resigned | 25 September 2017 | 11th | Kyrylo Nesterenko (caretaker) | 25 September 2017 | 11th |
| Stal Kamianske | Kyrylo Nesterenko (caretaker) | End of interim spell | 28 September 2017 | 11th | Nikolay Kostov | 28 September 2017 | 11th |
| Karpaty Lviv | Serhiy Zaytsev | Sacked | 19 November 2017 | 11th | Dario Drudi (caretaker) | 19 November 2017 | 11th |
| Karpaty Lviv | Dario Drudi (caretaker) | Will work as assistant | 21 November 2017 | 11th | Oleh Boychyshyn | 21 November 2017 | 11th |
| Chornomorets Odesa | Oleg Dulub | Mutual consent | 22 December 2017 | 10th | Kostyantyn Frolov | 23 December 2017 | 10th |
| Veres Rivne | Yuriy Virt | Mutual consent | 29 December 2017 | 5th | Yury Svirkov | 30 December 2017 | 5th |
| Veres Rivne | Yury Svirkov | Resigned | 25 April 2018 | 6th | Andriy Demchenko (caretaker) | 26 April 2018 | 6th |
Notes:

## First stage
### First stage table

| Pos | Team | Pld | W | D | L | GF | GA | GD | Pts | Qualification or relegation |
| 1 | Shakhtar Donetsk | 22 | 16 | 3 | 3 | 51 | 18 | +33 | 51 | Qualification for the Championship round |
| 2 | Dynamo Kyiv | 22 | 13 | 6 | 3 | 42 | 20 | +22 | 45 | Qualification for the Championship round |
| 3 | Vorskla Poltava | 22 | 11 | 4 | 7 | 28 | 22 | +6 | 37 | Qualification for the Championship round |
| 4 | Zorya Luhansk | 22 | 8 | 9 | 5 | 38 | 28 | +10 | 33 | Qualification for the Championship round |
| 5 | Veres Rivne | 22 | 7 | 11 | 4 | 26 | 17 | +9 | 32 | Qualification for the Championship round |
| 6 | FC Mariupol | 22 | 9 | 5 | 8 | 30 | 27 | +3 | 32 | Qualification for the Championship round |
| 7 | Olimpik Donetsk | 22 | 7 | 7 | 8 | 24 | 26 | −2 | 28 | Qualification for the Relegation round |
| 8 | FC Oleksandriya | 22 | 4 | 11 | 7 | 19 | 23 | −4 | 23 | Qualification for the Relegation round |
| 9 | Zirka Kropyvnytskyi | 22 | 4 | 7 | 11 | 13 | 31 | −18 | 19 | Qualification for the Relegation round |
| 10 | Karpaty Lviv | 22 | 3 | 10 | 9 | 13 | 35 | −22 | 19 | Qualification for the Relegation round |
| 11 | Chornomorets Odesa | 22 | 3 | 9 | 10 | 16 | 36 | −20 | 18 | Qualification for the Relegation round |
| 12 | Stal Kamianske | 22 | 3 | 6 | 13 | 15 | 32 | −17 | 15 | Qualification for the Relegation round |

### First stage results

| Home \ Away | CHO | DYK | KAR | MAR | OLK | OLD | SHA | STK | VER | VOR | ZIR | ZOR |
| Chornomorets Odesa | — | 2–1 | 0–0 | 0–0 | 2–2 | 2–1 | 0–0 | 0–1 | 0–1 | 0–3 | 3–3 | 1–1 |
| Dynamo Kyiv | 2–1 | — | 5–0 | 5–1 | 3–0 | 1–0 | 0–0 | 4–1 | 0–0 | 2–1 | 3–0 | 3–2 |
| Karpaty Lviv | 1–1 | 1–1 | — | 0–1 | 0–0 | 2–1 | 0–3 | 3–1 | 1–6 | 1–3 | 1–1 | 0–2 |
| Mariupol | 3–0 | 3–0 | 3–0 | — | 1–1 | 1–0 | 1–3 | 4–2 | 0–0 | 0–1 | 1–0 | 2–5 |
| FC Oleksandriya | 0–0 | 0–0 | 3–0 | 1–0 | — | 0–2 | 1–2 | 4–1 | 1–1 | 0–1 | 0–0 | 1–1 |
| Olimpik Donetsk | 1–0 | 1–2 | 0–0 | 3–2 | 1–0 | — | 2–4 | 2–0 | 0–0 | 1–4 | 1–0 | 3–3 |
| Shakhtar Donetsk | 5–0 | 0–1 | 2–0 | 3–1 | 1–2 | 2–0 | — | 1–1 | 2–0 | 3–2 | 5–0 | 3–1 |
| Stal Kamianske | 1–1 | 0–2 | 0–0 | 0–1 | 2–0 | 1–1 | 1–2 | — | 0–1 | 0–1 | 0–1 | 0–1 |
| Veres Rivne | 3–1 | 3–1 | 2–2 | 1–1 | 0–0 | 1–1 | 1–2 | 1–1 | — | 1–0 | 0–0 | 0–1 |
| Vorskla Poltava | 2–1 | 0–0 | 0–1 | 1–0 | 3–1 | 1–1 | 0–3 | 1–1 | 1–0 | — | 2–1 | 1–1 |
| Zirka Kropyvnytskyi | 0–1 | 0–2 | 0–0 | 0–3 | 0–0 | 0–0 | 2–4 | 1–0 | 1–3 | 1–0 | — | 2–1 |
| Zorya Luhansk | 5–0 | 4–4 | 0–0 | 1–1 | 2–2 | 0–2 | 2–1 | 0–1 | 1–1 | 3–0 | 1–0 | — |
* ↑ The game stopped after the first half (1:1) due to heavy snowfall. On 3 December 2017, the UPL Administration announced that the game will not be postponed to the next day on 4 December 2017 and a decision on its outcome will be adopted additionally.'"`UNIQ--ref-0000004A-QINU`"' On 6 December 2017, the League's administration announced that it will pass to the FFU Control and Disciplinary Committee for review all its materials related to the game.'"`UNIQ--ref-0000004B-QINU`"''"`UNIQ--ref-0000004C-QINU`"' Among many issues related to Karpaty, on 21 December 2017 the FFU CDC adopted a decision for a game between Karpaty and Olimpik to finish after the winter break.'"`UNIQ--ref-0000004D-QINU`"' The game was played on 21 February 2018.'"`UNIQ--ref-0000004E-QINU`"'
* ↑ see 2017–18 Ukrainian Premier League#Mariupol vs Dynamo (security issues)
* ↑ The game between Zirka Kropyvnytskyi and Oleksandriya was postponed three days due to the pitch conditions after recent snowstorm.'"`UNIQ--ref-00000051-QINU`"'

### First stage positions by round

The following table represents the teams position after each round in the competition played chronologically.
| Team ╲ Round | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| Shakhtar Donetsk | 1 | 4 | 2 | 2 | 2 | 2 | 1 | 1 | 2 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| Dynamo Kyiv | 3 | 1 | 1 | 1 | 1 | 1 | 2 | 2 | 1 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 |
| Vorskla Poltava | 12 | 5 | 4 | 4 | 4 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 4 | 4 | 5 | 5 | 5 | 3 | 3 | 3 | 3 | 3 |
| Zorya Luhansk | 10 | 9 | 9 | 11 | 8 | 8 | 7 | 7 | 7 | 7 | 7 | 7 | 6 | 6 | 6 | 6 | 6 | 6 | 4 | 4 | 4 | 4 |
| Veres Rivne | 7 | 8 | 7 | 5 | 6 | 5 | 5 | 5 | 4 | 4 | 4 | 5 | 5 | 5 | 4 | 4 | 3 | 4 | 5 | 5 | 5 | 5 |
| FC Mariupol | 8 | 7 | 5 | 7 | 5 | 6 | 6 | 6 | 5 | 5 | 6 | 6 | 7 | 7 | 7 | 7 | 7 | 7 | 7 | 6 | 7 | 6 |
| Olimpik Donetsk | 2 | 3 | 6 | 3 | 3 | 4 | 4 | 4 | 6 | 6 | 5 | 4 | 3 | 3 | 3 | 3 | 4 | 5 | 6 | 7 | 6 | 7 |
| FC Oleksandriya | 11 | 11 | 10 | 9 | 10 | 11 | 11 | 11 | 9 | 8 | 8 | 9 | 9 | 10 | 10 | 8 | 8 | 8 | 8 | 8 | 8 | 8 |
| Zirka Kropyvnytskyi | 5 | 6 | 8 | 10 | 11 | 9 | 8 | 8 | 8 | 9 | 9 | 8 | 10 | 9 | 8 | 10 | 10 | 9 | 9 | 9 | 10 | 9 |
| Karpaty Lviv | 6 | 10 | 11 | 8 | 9 | 10 | 10 | 10 | 10 | 10 | 11 | 11 | 8 | 8 | 9 | 11 | 11 | 11 | 11 | 10 | 9 | 10 |
| Chornomorets Odesa | 9 | 12 | 12 | 12 | 12 | 12 | 12 | 12 | 12 | 12 | 12 | 10 | 11 | 11 | 11 | 9 | 9 | 10 | 10 | 11 | 11 | 11 |
| Stal Kamianske | 4 | 2 | 3 | 6 | 7 | 7 | 9 | 9 | 11 | 11 | 10 | 12 | 12 | 12 | 12 | 12 | 12 | 12 | 12 | 12 | 12 | 12 |
* After the second round, places of Zirka Kropyvnytskyi (6th) and FC Mariupol (7th) are defined by undisclosed criterion.
* After the third round, places of Zirka Kropyvnytskyi (8th) and Zorya Luhansk (9th) are defined by undisclosed criterion.

## Championship round
### Championship round table

| Pos | Team | Pld | W | D | L | GF | GA | GD | Pts | Qualification or relegation |
| 1 | Shakhtar Donetsk (C) | 32 | 24 | 3 | 5 | 71 | 24 | +47 | 75 | Qualification for the Champions League group stage |
| 2 | Dynamo Kyiv | 32 | 22 | 7 | 3 | 64 | 25 | +39 | 73 | Qualification for the Champions League third qualifying round |
| 3 | Vorskla Poltava | 32 | 14 | 7 | 11 | 37 | 35 | +2 | 49 | Qualification for the Europa League group stage |
| 4 | Zorya Luhansk | 32 | 11 | 10 | 11 | 44 | 44 | 0 | 43 | Qualification for the Europa League third qualifying round |
| 5 | FC Mariupol | 32 | 10 | 9 | 13 | 38 | 41 | −3 | 39 | Qualification for the Europa League second qualifying round |
| 6 | Veres Rivne (D) | 32 | 7 | 14 | 11 | 28 | 30 | −2 | 35 | Club suspended after the season |
* 1 2 3 Since the winners of the 2017–18 Ukrainian Cup, Shakhtar Donetsk, qualified for European competition based on league position, the spot awarded to the cup winners (Europa League group stage) was passed to the third-placed team, the spot awarded to the third-placed team (Europa League third qualifying round) was passed to the fourth-placed team, and the spot awarded to the fourth-placed team (Europa League second qualifying round) was passed to the fifth-placed team.

### Championship round results

| Home \ Away | DYK | MAR | SHA | VER | VOR | ZOR |
| Dynamo Kyiv | — | 1–1 | 2–1 | 1–0 | 4–0 | 4–0 |
| Mariupol | 2–3 | — | 0–1 | 2–0 | 1–1 | 0–0 |
| Shakhtar Donetsk | 0–1 | 3–0 | — | 1–0 | 4–2 | 2–1 |
| Veres Rivne | 1–4 | 1–1 | 0–2 | — | 0–0 | 0–1 |
| Vorskla Poltava | 0–1 | 1–0 | 0–3 | 0–0 | — | 2–0 |
| Zorya Luhansk | 0–1 | 3–1 | 0–3 | 1–0 | 0–3 | — |

### Championship round positions by round

| Team ╲ Round | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 |
| Shakhtar Donetsk | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| Dynamo Kyiv | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 |
| Vorskla Poltava | 3 | 4 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 |
| Zorya Luhansk | 4 | 3 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 |
| FC Mariupol | 5 | 5 | 6 | 6 | 5 | 5 | 5 | 5 | 5 | 5 |
| Veres Rivne | 6 | 6 | 5 | 5 | 6 | 6 | 6 | 6 | 6 | 6 |

## Relegation round
### Relegation round table

| Pos | Team | Pld | W | D | L | GF | GA | GD | Pts | Qualification or relegation |
| 7 | FC Oleksandriya | 32 | 10 | 15 | 7 | 32 | 27 | +5 | 45 | |
| 8 | Karpaty Lviv | 32 | 8 | 13 | 11 | 28 | 45 | −17 | 37 | |
| 9 | Olimpik Donetsk | 32 | 9 | 9 | 14 | 29 | 38 | −9 | 36 | |
| 10 | Zirka Kropyvnytskyi (R) | 32 | 7 | 10 | 15 | 22 | 40 | −18 | 31 | Qualification for the Relegation play-offs |
| 11 | Chornomorets Odesa (Z) | 32 | 6 | 11 | 15 | 26 | 49 | −23 | 29 | Qualification for the Relegation play-offs |
| 12 | Stal Kamianske (R, X) | 32 | 6 | 8 | 18 | 23 | 44 | −21 | 26 | Relegated and later withdrawn |

### Relegation round results

| Home \ Away | CHO | KAR | OLK | OLD | STK | ZIR |
| Chornomorets Odesa | — | 1–1 | 1–3 | 3–1 | 0–1 | 1–0 |
| Karpaty Lviv | 3–1 | — | 1–2 | 0–3 | 3–0 | 2–1 |
| FC Oleksandriya | 0–0 | 1–1 | — | 2–0 | 2–0 | 1–0 |
| Olimpik Donetsk | 1–0 | 0–2 | 0–0 | — | 0–2 | 0–1 |
| Stal Kamianske | 1–2 | 0–1 | 1–2 | 0–0 | — | 1–1 |
| Zirka Kropyvnytskyi | 2–1 | 1–1 | 0–0 | 2–0 | 1–2 | — |

### Relegation round positions by round

| Team ╲ Round | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 |
| FC Oleksandriya | 8 | 8 | 8 | 8 | 8 | 7 | 7 | 7 | 7 | 7 |
| Karpaty Lviv | 11 | 11 | 10 | 9 | 9 | 9 | 9 | 9 | 9 | 8 |
| Olimpik Donetsk | 7 | 7 | 7 | 7 | 7 | 8 | 8 | 8 | 8 | 9 |
| Zirka Kropyvnytskyi | 9 | 9 | 9 | 10 | 10 | 10 | 10 | 10 | 10 | 10 |
| Chornomorets Odesa | 10 | 12 | 12 | 12 | 12 | 12 | 11 | 12 | 12 | 11 |
| Stal Kamianske | 12 | 10 | 11 | 11 | 11 | 11 | 12 | 11 | 11 | 12 |

## Relegation play-offs

Teams that placed 10th and 11th in the 2017–18 Ukrainian Premier League play two-leg play-off with the second and third teams of the 2017–18 Ukrainian First League. On 11 May 2018, a draw for relegation play-offs took place in the House of Football, Kyiv. The games were played on 23 May and 27 May 2018.
| Team 1 | Agg.Tooltip Aggregate score | Team 2 | 1st leg | 2nd leg |
| Zirka Kropyvnytskyi | 1–5 | Desna Chernihiv | 1–1 | 0–4 |
| Chornomorets Odesa | 1–3 | FC Poltava | 1–0 | 0–3 (a.e.t.) |

### Second leg

FC Poltava won 3–1 on aggregate and was promoted to the 2018–19 Ukrainian Premier League. Chornomorets Odesa was relegated to the 2018–19 Ukrainian First League. But later, the league picked Chornomorets Odesa for the FC Poltava's replacement for the next season after their withdrawal.
Desna Chernihiv won 5–1 on aggregate and was promoted to the 2018–19 Ukrainian Premier League. Zirka Kropyvnytskyi was relegated to the 2018–19 Ukrainian First League.

## Season statistics
### Top goalscorers

As of 19 May 2018
| Rank | Scorer | Team | Goals (Pen.) |
| 1 | Facundo Ferreyra | Shakhtar Donetsk | 21 (1) |
| 2 | Marlos | Shakhtar Donetsk | 18 (5) |
| 3 | Viktor Tsyhankov | Dynamo Kyiv | 13 (2) |
| 4 | Iury | Zorya Luhansk | 11 (1) |
| 5 | Yuriy Kolomoyets | Vorskla Poltava | 9 |
| 5 | Dieumerci Mbokani | Dynamo Kyiv | 9 |
| 5 | Mykhaylo Serhiychuk | Veres / Vorskla | 9 (3) |
| 8 | Oleksiy Khoblenko | Chornomorets Odesa | 8 (1) |
| 8 | Orest Kuzyk | Stal Kamianske | 8 (1) |
| 10 | Artem Hromov | Zorya Luhansk | 7 |
| 10 | Serhiy Starenkyi | FC Oleksandriya | 7 |
| 10 | Marian Shved | Karpaty Lviv | 7 |

### Hat-tricks

| Player | For | Against | Result | Date |
| Viktor Tsyhankov | Dynamo Kyiv | Karpaty Lviv | 5–0 | 29 July 2017 |
| Serhiy Starenkyi | Oleksandriya | Stal Kamanske | 4–1 | 16 September 2017 |
| Oleksandr Andriyevskyi | Zorya Luhansk | Mariupol | 5–2 | 22 October 2017 |
| Andriy Boryachuk | Mariupol | Zirka Kropyvnytskyi | 3–0 | 18 February 2018 |
$^{(number)}$ Player scored (number) goals if more than 3

## Awards
### Monthly awards

| Month | Player of the Month | Player of the Month | Player of the Month |
| Month | Player | Club | Reference |
| July 2017 | Marlos | Shakhtar Donetsk | |
| August 2017 | Maksym Pryadun | Zirka Kropyvnytskyi | |
| September 2017 | Alyaksandr Hutar | Chornomorets Odesa | |
| October 2017 | Oleksandr Andriyevskyi | Zorya Luhansk | |
| November 2017 | Artem Polyarus | FC Oleksandriya | |
| March 2018 | Viktor Tsyhankov | Dynamo Kyiv | |
| April 2018 | Jorge Carrascal | Karpaty Lviv | |
| May 2018 | Benjamin Verbič | Dynamo Kyiv | |

### Round awards

| Round | Player | Player | Player | Coach | Coach | Coach |
| Round | Player | Club | Reference | Coach | Club | Reference |
| Round 1 | Marlos | Shakhtar Donetsk | | Yegishe Melikyan | Stal Kamianske | |
| Round 2 | Dieumerci Mbokani | Dynamo Kyiv | | Alyaksandr Khatskevich | Dynamo Kyiv | |
| Round 3 | Viktor Tsyhankov | Dynamo Kyiv | | Oleksandr Sevidov | FC Mariupol | |
| Round 4 | Oleksandr Tkachenko | Vorskla Poltava | | Yuriy Virt | Veres Rivne | |
| Round 5 | Vyacheslav Churko | FC Mariupol | | Roman Sanzhar | Olimpik Donetsk | |
| Round 6 | Oleksandr Chyzhov | Vorskla Poltava | | Roman Monaryov | Zirka Kropyvnytskyi | |
| Round 7 | Maksym Pryadun | Zirka Kropyvnytskyi | | Yuriy Vernydub | Zorya Luhansk | |
| Round 8 | Viktor Tsyhankov | Dynamo Kyiv | | Yuriy Virt | Veres Rivne | |
| Round 9 | Alyaksandr Hutar | Chornomorets Odesa | | Alyaksandr Khatskevich | Dynamo Kyiv | |
| Round 10 | Oleksandr Bandura | Veres Rivne | | Yuriy Virt | Veres Rivne | |
| Round 11 | Ihor Kharatin | Zorya Luhansk | | Vasyl Sachko | Vorskla Poltava | |
| Round 12 | Yuriy Kolomoyets | Vorskla Poltava | | Oleg Dulub | Chornomorets Odesa | |
| Round 13 | Oleksandr Andriyevskyi | Zorya Luhansk | | Yuriy Vernydub | Zorya Luhansk | |
| Round 14 | Serhiy Myakushko | Karpaty Lviv | | Nikolay Kostov | Stal Kamianske | |
| Round 15 | Vitaliy Buyalskyi | Dynamo Kyiv | | Alyaksandr Khatskevich | Dynamo Kyiv | |
| Round 16 | Artem Polyarus | FC Oleksandriya | | Volodymyr Sharan | FC Oleksandriya | |
| Round 17 | Marlos | Shakhtar Donetsk | | Volodymyr Sharan | FC Oleksandriya | |
| Round 18 | Viktor Tsyhankov | Dynamo Kyiv | | Not awarded | Not awarded | Not awarded |
| Round 19 | Yuriy Pankiv | FC Oleksandriya | | Vasyl Sachko | Vorskla Poltava | |
| winter break |||||||
| Round 20 | Andriy Boryachuk | FC Mariupol | | Nikolay Kostov | Stal Kamianske | |
| Round 21 | Marlos | Shakhtar Donetsk | | Yuriy Vernydub | Zorya Luhansk | |
| Round 22 | Viktor Tsyhankov | Dynamo Kyiv | | Oleksandr Babych | FC Mariupol | |
| Round 23 | Facundo Ferreyra | Shakhtar Donetsk | | Paulo Fonseca | Shakhtar Donetsk | |
| Round 24 | Viktor Tsyhankov | Dynamo Kyiv | | Yuriy Vernydub | Zorya Luhansk | |
| Round 25 | Mykola Shaparenko | Dynamo Kyiv | | Paulo Fonseca | Shakhtar Donetsk | |
| Round 26 | Viktor Tsyhankov | Dynamo Kyiv | | Alyaksandr Khatskevich | Dynamo Kyiv | |
| Round 27 | Volodymyr Shepelyev | Dynamo Kyiv | | Alyaksandr Khatskevich | Dynamo Kyiv | |
| Round 28 | Artem Besyedin | Dynamo Kyiv | | Paulo Fonseca | Shakhtar Donetsk | |
| Round 29 | Iury | Zorya Luhansk | | Kostiantyn Frolov | Chornomorets Odesa | |
| Round 30 | Taison | Shakhtar Donetsk | | Oleksandr Babych | FC Mariupol | |
| Round 31 | Oleksandr Bandura | Veres Rivne | | Alyaksandr Khatskevich | Dynamo Kyiv | |
| Round 32 | Vladyslav Kulach | Vorskla Poltava | | Vasyl Sachko | Vorskla Poltava | |

### The 2017 Coach of the Year award

The best coaches were identified by the All-Ukrainian Football Coaches Association.
| Place | Coach | Team | Mark |
| 1 | Roman Sanzhar | Olimpik Donetsk | 4.18 |
| 2 | Paulo Fonseca | Shakhtar Donetsk | 4.16 |
| 3 | Yuriy Vernydub | Zorya Luhansk | 4.02 |
| 4 | Volodymyr Sharan | FC Oleksandriya | 3.88 |
| 5 | Alyaksandr Khatskevich | Dynamo Kyiv | 3.60 |

### Season awards

The laureates of the 2017–18 UPL season were:
* Best player: Marlos (Shakhtar Donetsk)
* Best coach: Alyaksandr Khatskevich (Dynamo Kyiv)
* Best goalkeeper: Andriy Pyatov (Shakhtar Donetsk)
* Best arbiter: Yuriy Mozharovskyi (Lviv)
* Best young player: Viktor Tsyhankov (Dynamo Kyiv)
* Best goalscorer: Facundo Ferreyra (Shakhtar Donetsk)

## Season's incidents
### Desna vs Veres promotion

On 1 June 2017, it was announced that second-placed club FC Desna Chernihiv was denied a license to play in the top division. The argument was that the club was not able to provide guarantees for an adequate financing of infrastructure. The license was received by NK Veres Rivne, the third-placed team during the last season in the second-tier division.
Both clubs FC Desna Chernihiv and NK Veres Rivne did not play at their home stadiums in the 2016–17 Ukrainian First League. The first one played in Kyiv at the Obolon Arena, while the other one played in Varash, at the Izotop Stadium of the Rivne Nuclear Power Plant. The administration of Desna released a letter of protest before a meeting of FFU representatives. In protest, the Desna administration announced that the club would not play its final game of the season against FC Illichivets Mariupol, but later relented. Nonetheless, during the game, players of both teams expressed their protest on the field in a special way: when the whistle was blown the players, instead of starting play, were demonstratively standing around yet kicking a ball.
On 2 June 2017, upon conclusion of its conference the UPL administration announced about the final composition of the league and calendar for the upcoming season. The conference confirmed the admission of Veres to the league and the only club that voted against was FC Dynamo Kyiv, while six votes were for decision and three (including FC Zorya Luhansk) abstained. On 2 June 2017, the Desna fans were picketing the House of Football in Kyiv after they arrived on four buses from Chernihiv.
On 7 June 2017, sports media UA-Football requested from Football Federation of Ukraine and FC Desna Chernihiv to publish related documents to have better understanding over the situation and come to some kind of closure on the subject.
Number of football experts negatively commented on the situation, while the PFC Sumy head coach Anatoliy Bezsmertnyi stated that tomorrow these sports functionaries in such way will make Veres the national champions. The former PFL president Svyatoslav Syrota said that the FFU vice-president is lying about Desna problems. President of FC Inhulets Petrove, Oleksandr Porovoznyuk, called on other clubs to withdraw their teams from the league in support for FC Desna Chernihiv. President of FC Hirnyk-Sport Horishni Plavni Petro Kaplun stated that it makes him laugh when the president of Veres Oleksiy Khakhlev asks to follow the regulations. He points out that last season Veres was admitted to the Second League with complete disregard to the season's regulations. Kaplun also called on the FFU authorities to pay attention to what owners of professional clubs have to say as they have a right to express their vote of confidence for the FFU leadership.

### Mariupol vs Dynamo (security issues)

Another issue relating to the Russian military intervention in Ukraine became serious when FC Dynamo Kyiv failed to arrive to Mariupol for the away game against FC Mariupol on 27 August 2017.
The issue was ongoing ever since the end of previous season when on 2 June 2017 FC Mariupol's promotion to the Ukrainian Premier League became official. On 3 June 2017 the vice president of Dynamo Serhiy Mokhnyk officially announced that the club will not travel for a game in Mariupol city as it is difficult to present guarantees in security due the fact that the city is located near a frontline (about 23–25 km (14–16 mi), see War in Donbas). The vice president also offered to conduct the game on a neutral field such as Dnipro Arena. Few days later in more details the same announcement was repeated by Ihor Surkis who also added that if he will receive documented security guarantees, he will send his team to Mariupol.
The leadership of the Football Federation of Ukraine (FFU) in a face of Andriy Pavelko right away expressed its opposition for the Dynamo's statement. The president of FFU made an emphasis that the game in Mariupol is an important component of uniting policy on national scale. He also underlined that there is no danger in conducting the game in Mariupol.
During preparation for the next season the issue was moved to background. However, when the season started on 16 July 2017, the issue surfaced again. About a week later, on 24 July 2017, Dynamo received recommendation letter from the Ministry of Interior and the Security Service of Ukraine where it was urged not to travel to Mariupol for a game. The same day Dynamo published its own letter addressed to the Football Federation of Ukraine and Ukrainian Premier League petitioning to transfer the Round 7 game against Mariupol scheduled on 27 August 2017 to another city. Two days later, on 26 July 2017, almost at the same time both the Minister of Interior (Arsen Avakov) and the President of UPL (Volodymyr Heninson) made public announcements assuring in safety of conducting football games in the littoral city of the Sea of Azov.
Throughout the rest of month of July two games took place in Mariupol. Until August FC Karpaty Lviv supported the position of Dynamo. Eventually to this "stand off" became involved the general manager of FC Shakhtar Donetsk Serhiy Palkin, while the television channel "Football" launched a wide informational campaign in support to conduct the game. For example, during one of the channel's broadcasting the president of Football Federation of Mariupol city called Hryhoriy Surkis the "main football separatist" and offered him to resolve the issue through Viktor Medvedchuk and the president of the aggressor state (Vladimir Putin). On 11 August 2017, the Deputy director of National Police in Donetsk Oblast wrote an official letter to the Football Federation of Ukraine with security guarantees for all games in Mariupol. Finally the game between FC Mariupol and FC Karpaty took place on August 13 in Mariupol.
On 18 August 2017, FFU issued a press release where it denied the petition of Dynamo in transferring the game. The session of the FFU Executive Committee that had taken place on 22 August 2017 should have solved the problem.
Following no show of Dynamo to the game with FC Mariupol on 27 August 2017, FC Mariupol issued a press release where it accused its opponents in attempt to discredit the football club from Mariupol. On 14 November 2017, The Appeal Committee of the Football Federation of Ukraine did not satisfy the Dynamo appeal and counted the team's technical defeat.
On 19 February 2018, the Court of Arbitration for Sport in Lausanne declined all claims of Dynamo to the Football Federation of Ukraine in relations to the "Mariupol case".
On 28 February 2018, the Ukrainian Premier League has officially updated its standings in correspondence to the earlier decision of the FFU CDC of 11 September 2017.

### Relocation of teams

Due to the 2014 Russian invasion of Ukraine some football clubs were forced to be dissolved, other moved away to other cities in Ukraine. Among the UPL teams, teams from Donetsk, Olimpik and Shakhtar, moved to Kyiv, Zorya Luhansk moved to Zaporizhia, teams from the Autonomous Republic of Crimea, Tavriya and Sevastopol, were dissolved. The relocated teams did not hurry with their change of place of registry in hope to be able to return home in near future.
In 2018 Shakhtar has officially changed its place of registry from Donetsk to Mariupol.
During the season several clubs (Shakhtar, Stal, and Veres) changed their city registration for various reasons and informed the Football Federation of Ukraine that since the next season will represent other cities.

### 2018 UPL presidential elections

The 2018 presidential elections of the Ukrainian Premier League took place on 6 April 2018. The current president Volodymyr Heninson that serves as the president since February 2016 announced that he will not run for president in 2018. Among possible candidates specialists note a Swiss lawyer Thomas Grimm or Joe Palmer from AFC Wimbledon. As of 26 March 2018, a day before deadline for submitting candidacy for election, there is only Thomas Grimm whose candidacy was submitted by FC Oleksandriya on 22 March 2018. On 6 April 2018, Thomas Grimm was elected as a new president with 10 votes for and 2 abstained.

### Prospective disciplinary sanctions

According to FootballHub, in March the FFU Disciplinary Committee prosecuted the Olimpik's junior teams U-19 and U-21 for game fixing. Earlier the CDC chairman, Francesco Baranca, underlined that Olimpik won't participate in European competitions if its junior teams will be disqualified.
FC Vorskla Poltava could have problems with the league's attestation for next season for debts to its former players. Another UPL player submitted his claim to the FFU CDC against its former club FC Stal Kamianske.