THE COMPLETE RECORD
This profile is part of the recursive Fight Atlas graph. Open any opponent below to load that athlete’s complete professional career, then continue through every linked opponent without returning to a third-party record page.
EVERY RECORDED BOUT
Complete professional fight history, including competition before and outside UFC. Use the controls to isolate an opponent, promotion, method or result.
| Result | Date / record | Opponent | Event | Finish details |
|---|---|---|---|---|
| L | 18–11–0 (2 NC) after bout | Makwan AmirkhaniView status and profile → | Ice Cage 4 - Amirkhani vs. Salovaara | Decision (Unanimous)Round 3 Time 5:00 Referee Not listed |
| L | 18–10–0 (2 NC) after bout | Alex GilpinView status and profile → | Cage - Cage 41 | Decision (Unanimous)Round 3 Time 5:00 Referee Mikko Aaltonen |
| W | 18–9–0 (2 NC) after bout | Oleksii OliinykView status and profile → | Cage - Cage 40 | TKO (Submission to Punches)Round 3 Time 0:57 Referee Mikko Aaltonen |
| W | 17–9–0 (2 NC) after bout | Kostadin Vasilev EnevView status and profile → | Cage - Cage 39 | TKO (Punches)Round 2 Time 4:24 Referee Mikko Aaltonen |
| L | 16–9–0 (2 NC) after bout | Niklas BackstromView status and profile → | Cage - Cage 37 | Decision (Unanimous)Round 3 Time 5:00 Referee Lassi Minkkinen |
| W | 16–8–0 (2 NC) after bout | Rafael DomingosView status and profile → | Cage - Cage 36 | TKO (Punches)Round 2 Time 4:21 Referee Mikko Aaltonen |
| W | 15–8–0 (2 NC) after bout | Ivan GladkiyView status and profile → | Cage - Cage 35 | TKO (Doctor Stoppage)Round 1 Time 5:00 Referee Mika Sinkkonen |
| L | 14–8–0 (2 NC) after bout | Salman ZhamaldaevView status and profile → | WFCA 13 - Grozny Battle | Decision (Split)Round 3 Time 5:00 Referee Viktor Korneev |
| NC | 14–7–0 (2 NC) after bout | Rafael MacedoView status and profile → | Cage - Cage 32 | No Decision - Overturned by FMMAFRound 3 Time 5:00 Referee Mika Sinkkonen |
| NC | 14–7–0 (1 NC) after bout | Vicente AlamoView status and profile → | Cage - Cage 28 | NC (Knee to the Groin)Round 1 Time N/A Referee Mika Sinkkonen |
| W | 14–7–0 after bout | Nicolas JoannesView status and profile → | Cage - Challenger 3 | TKORound 2 Time 1:42 Referee Not listed |
| L | 13–7–0 after bout | Adam WardView status and profile → | Cage 25 - Vantaa 3 | Decision (Unanimous)Round 3 Time 5:00 Referee Not listed |
| W | 13–6–0 after bout | Chase BeebeView status and profile → | FF 33 - Fight Festival 33 | Submission (Rear-Naked Choke)Round 1 Time 3:48 Referee Asse Hokkanen |
| L | 12–6–0 after bout | Jim AlersView status and profile → | CWFC 53 - Cage Warriors Fighting Championship 53 | Submission (Triangle Armbar)Round 4 Time 3:43 Referee Marc Goddard |
| W | 12–5–0 after bout | Olivier PastorView status and profile → | Vision FC 5 - Finale | Decision (Majority)Round 3 Time 5:00 Referee Not listed |
| W | 11–5–0 after bout | Moktar BenkaciView status and profile → | FF 32 - Fight Festival 32 | Decision (Unanimous)Round 3 Time 5:00 Referee Not listed |
| W | 10–5–0 after bout | Romanas SiaudinisView status and profile → | BoP - Battle of Porvoo 3 | Submission (Kimura)Round 1 Time 1:42 Referee Not listed |
| L | 9–5–0 after bout | Sergej GrecichoView status and profile → | EFN - Espoo Fight Night | Submission (Rear-Naked Choke)Round 1 Time 0:00 Referee Not listed |
| W | 9–4–0 after bout | Jeremy PenderView status and profile → | FF 31 - Fight Festival 31 | TKO (Punches)Round 3 Time 1:32 Referee Not listed |
| W | 8–4–0 after bout | Jorgen MatsiView status and profile → | Cage 15 - Powered by Reezig | Decision (Unanimous)Round 3 Time 5:00 Referee Not listed |
| W | 7–4–0 after bout | Anthony DurnellView status and profile → | FF 30 - Fight Festival 30 | Submission (Triangle Choke)Round 3 Time 3:40 Referee Not listed |
| W | 6–4–0 after bout | Timo-Juhani HirvikangasView status and profile → | FF - Fight Festival Goes Kaisaniemi | TKO (Punches)Round 2 Time 3:41 Referee Not listed |
| W | 5–4–0 after bout | Greg KnappView status and profile → | TF - Resurrection | Decision (Unanimous)Round 2 Time 5:00 Referee Not listed |
| W | 4–4–0 after bout | Arvydas ZiliusView status and profile → | FF 27 - Fight Festival 27 | Submission (Rear-Naked Choke)Round 2 Time 1:42 Referee Not listed |
| W | 3–4–0 after bout | Laimonas StancikasView status and profile → | Cage 11 - Battle of Nations | TKO (Punches)Round 1 Time 3:34 Referee Not listed |
| L | 2–4–0 after bout | Antti VirtanenView status and profile → | BP 8 - Botnia Punishment 8 | Submission (Toe Hold)Round 1 Time 3:48 Referee Not listed |
| W | 2–3–0 after bout | Joni HaahkaView status and profile → | OF - Oulu Fight | Submission (Rear-Naked Choke)Round 1 Time 3:10 Referee Not listed |
| W | 1–3–0 after bout | Anton StepanovView status and profile → | FF 25 - Fight Festival 25 | Submission (Rear-Naked Choke)Round 1 Time 3:34 Referee Not listed |
| L | 0–3–0 after bout | Pasi MaliniemiView status and profile → | BP 7 - Botnia Punishment 7 | Decision (Unanimous)Round 2 Time 5:00 Referee Not listed |
| L | 0–2–0 after bout | Michael GronforsView status and profile → | AF - Arctic Fight | Decision (Split)Round 2 Time 5:00 Referee Not listed |
| L | 0–1–0 after bout | Jani KetolainenView status and profile → | The Cage Vol. 8 - Botnia Punishment | Decision (Unanimous)Round 2 Time 5:00 Referee Not listed |
Fight Atlas republishes factual bout results, not source articles or photography. Belt markers appear only when championship status is confirmed by an official promotion source; unverified bouts are never inferred. The matched source name for this profile is Joni Salovaara.
Verify source record ↗Every verified opponent opens another full career
31 professional bout rows are displayed from the source record. 31 unique opponent identities have a stable source ID and an internal Fight Atlas route. Every opponent row has a verified identity link.
Source and correction standard
The complete professional history is retrieved from the established public fight-record source and cached for up to 24 hours. Current-roster status remains separate from historical career data and does not imply retirement.