MATCH
06.08.19 | qual. | Adam Heinonen | Rana-Roop Singh Bhullar | 7-5, 6-2 | ![]() | Clay |
MATCH STATS
1st SERVE % | 32/54 (59%) | 39/61 (64%) |
1st SERVE POINTS WON | 25/32 (78%) | 20/39 (51%) |
2nd SERVE POINTS WON | 12/22 (55%) | 11/22 (50%) |
BREAK POINTS WON | 5/8 (63%) | 2/4 (50%) |
TOTAL RETURN POINTS WON | 30/61 (49%) | 17/54 (31%) |
TOTAL POINTS WON | 67/115 (58%) | 48/115 (42%) |
DOUBLE FAULTS | 2 | 3 |
ACES | 4 | 0 |
MATCH STATS
1 | ||
0-0 | Rana-Roop Singh Bhullar ![]() | |
0-0, 0-15, 0-30, 0-40, 15-40 | ||
Adam Heinonen ![]() | 0-1 | |
0-0, 0-15, 15-15, 15-30 | ||
0-2 | Rana-Roop Singh Bhullar ![]() | |
0-0, 0-30, 30-40, 40-40, A-40[BP] | ||
Adam Heinonen ![]() | 0-3 | |
0-0, 30-0, 40-0 | ||
1-3 | Rana-Roop Singh Bhullar ![]() | |
0-0, 0-15, 15-15, 15-30, 15-40 | ||
Adam Heinonen ![]() | 1-4 | |
0-0, 15-0, 15-15 | ||
1-5 | Rana-Roop Singh Bhullar ![]() | |
0-0, 0-15, 15-15, 30-15, 40-15[BP] | ||
Adam Heinonen ![]() | 2-5 | |
0-0, 15-0, 15-15, 30-15, 40-15 | ||
3-5 | Rana-Roop Singh Bhullar ![]() | |
0-0, 15-0, 30-0 | ||
5-5 | Rana-Roop Singh Bhullar ![]() | |
0-0 | ||
Adam Heinonen ![]() | 6-5 | |
0-0, 15-0, 30-0 | ||
7-5 |
2 | ||
0-0 | Rana-Roop Singh Bhullar ![]() | |
0-0, 0-30, 15-30 | ||
Adam Heinonen ![]() | 0-1 | |
0-0, 15-0, 15-15, 30-15, 40-15 | ||
1-1 | Rana-Roop Singh Bhullar ![]() | |
0-0, 15-0, 30-0, 30-15, 40-15[BP], 40-30[BP] | ||
3-1 | Rana-Roop Singh Bhullar ![]() | |
0-0, 0-15, 0-30 | ||
4-2 | Rana-Roop Singh Bhullar ![]() | |
0-0 | ||
Adam Heinonen ![]() | 5-2 | |
0-0, 15-0, 30-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0, 40-0 | ||
Adam Heinonen ![]() | 6-2 | |
6-2 |

Country
Birthdate
Height
Weight
Profi since
Play
Ranking's position
Points
Prize money
Birthdate
Height
Weight
Profi since
Play
Ranking's position
Points
Prize money
Norway
25.12.97, 27 years
25.12.97, 27 years

Adam Heinonen vs. Rana-Roop Singh Bhullar - H2H matches
06.08.19 | qual. | Adam Heinonen | Rana-Roop Singh Bhullar | 7-5, 6-2 | match details | ![]() | Clay |
Adam Heinonen form & Rana-Roop Singh Bhullar form
Adam Heinonen - last matches
![]() | ||||
11.05.25 q 1 | vs. Eero Vasa | 6-74, 6-77 | ![]() | match details |
![]() | ||||
02.03.25 q 1 | vs. Henri Haupt | 5-7, 1-6 | ![]() | match details |
![]() | ||||
26.02.25 1st round | vs. Marko Topo | 2-6, 0-6 | ![]() | match details |
24.02.25 qual. | vs. Szymon Kielan | 6-4, 6-3 | ![]() | match details |
23.02.25 q 1 | vs. Diego Lopato-Miguel | 6-0, 6-1 | ![]() | match details |
![]() | ||||
16.02.25 q 1 | vs. Giles Hussey | 2-6, 6-3, 2-6 | ![]() | match details |
![]() | ||||
23.01.25 2nd round | vs. Justin Engel | 6-75, 6-4, 4-6 | ![]() | match details |
22.01.25 1st round | vs. Stefan Seifert | 7-67, 6-4 | ![]() | match details |
20.01.25 qual. | vs. Mika Petkovic | 6-4, 6-3 | ![]() | match details |
19.01.25 q 2 | vs. Sydney Zick | 6-1, 6-3 | ![]() | match details |
![]() | ||||
09.01.25 1/4 | vs. Tibo Colson | 6-76, 0-6 | ![]() | match details |
08.01.25 2nd round | vs. Tomasz Berkieta | 7-5, 2-6, 6-3 | ![]() | match details |
07.01.25 1st round | vs. Oliver Anderson | 6-2, 6-2 | ![]() | match details |
![]() | ||||
07.11.24 2nd round | vs. Gauthier Onclin | 4-6, 1-6 | ![]() | match details |
06.11.24 1st round | vs. Christos Glavas | 6-1, 6-3 | ![]() | match details |
![]() | ||||
30.10.24 1st round | vs. Jacopo Berrettini | 3-6, 1-6 | ![]() | match details |
29.10.24 qual. | vs. Pablo Masjuan Ginel | 4-6, 6-0, 14-12 | ![]() | match details |
28.10.24 q 2 | vs. Evangelos Kypriotis | 6-3, 6-0 | ![]() | match details |
![]() | ||||
25.10.24 1/4 | vs. Marko Topo | 3-6, 3-6 | ![]() | match details |
24.10.24 2nd round | vs. Szymon Kielan | 4-6, 6-0, 7-5 | ![]() | match details |
23.10.24 1st round | vs. Jakub Nicod | 6-2, 6-1 | ![]() | match details |
22.10.24 qual. | vs. Vit Kalina | 5-0, Vit Kalina - retired | ![]() | match details |
21.10.24 q 2 | vs. Vladimir Holban | 7-5, 6-3 | ![]() | match details |
![]() | ||||
23.09.24 1st round | vs. Christian Sigsgaard | 6-71, 1-6 | ![]() | match details |
![]() | ||||
18.09.24 1st round | vs. Lucas Renard | 2-6, 4-6 | ![]() | match details |
![]() | ||||
16.08.24 1/4 | vs. Louis Wessels | 6-77, 3-6 | ![]() | match details |
15.08.24 2nd round | vs. Christian Sigsgaard | 7-5, 3-6, 6-2 | ![]() | match details |
14.08.24 1st round | vs. Stijn Paardekooper | 7-5, 6-0 | ![]() | match details |
![]() | ||||
07.08.24 1st round | vs. Christopher Bulus | 3-6, 1-6 | ![]() | match details |
![]() | ||||
24.07.24 1st round | vs. Syl Gaxherri | 6-1, 5-7, 4-6 | ![]() | match details |
Rana-Roop Singh Bhullar - last matches
![]() | ||||
26.07.21 q 2 | vs. Charles Broom | 2-6, 2-6 | ![]() | match details |
25.07.21 q 1 | vs. Sabit Suntic | 7-61, 6-4 | ![]() | match details |
![]() | ||||
18.07.21 q 1 | vs. Adrian Oetzbach | 3-6, 2-6 | ![]() | match details |
![]() | ||||
03.12.19 qual. | vs. Tanner K Smith | 4-6, 1-6 | ![]() | match details |
02.12.19 q 1 | vs. Chase Wood | 6-3, 4-6, 10-4 | ![]() | match details |
![]() | ||||
06.08.19 qual. | vs. Adam Heinonen | 5-7, 2-6 | ![]() | match details |
05.08.19 q 1 | vs. Carl Gustafsson | 6-1, 2-6, 10-8 | ![]() | match details |
![]() | ||||
03.12.18 1st round | vs. Jumpei Yamasaki | 3-6, 3-6 | ![]() | match details |
![]() | ||||
10.06.18 q 2 | vs. Tom Hands | 1-6, 1-2, - Rana-Roop Singh Bhullar - retired | ![]() | match details |
![]() | ||||
06.06.18 1st round | vs. Aron Pierce | 3-6, 6-74 | ![]() | match details |
04.06.18 q 2 | vs. Stefan Vujic | 6-3, 7-5 | ![]() | match details |
04.06.18 qual. | vs. Emmett Ward | 6-3, 6-0 | ![]() | match details |
02.06.18 q 1 | vs. Jeremy Sonkin | Jeremy Sonkin - walk over | ![]() | match details |
![]() | ||||
26.05.18 q 1 | vs. Jiri Vencl | 6-1, 1-6, 2-6 | ![]() | match details |
![]() | ||||
13.11.17 | vs. Jenson Brooksby | 1-6, 0-4, - Rana-Roop Singh Bhullar - retired | ![]() | match details |
![]() | ||||
14.08.17 q 2 | vs. Mikael Martikainen | 6-2, 7-62 | ![]() | match details |
14.08.17 qual. | vs. Patrik Brydolf | 6-1, 4-6, 2-6 | ![]() | match details |
![]() | ||||
25.07.17 1st round | vs. Florent Diep | 3-6, 2-6 | ![]() | match details |
24.07.17 qual. | vs. Simohamed Hirs | 6-4, 7-5 | ![]() | match details |
24.07.17 q 1 | vs. Yassine Derbani | 6-2, 6-1 | ![]() | match details |
24.07.17 q 2 | vs. Ayoub Chakrouni | 6-1, 6-1 | ![]() | match details |
![]() | ||||
22.04.17 q 1 | vs. Gonzalo Escobar | 3-6, 4-6 | ![]() | match details |
![]() | ||||
05.12.16 q 1 | vs. Ryler Deheart | 6-74, 2-6 | ![]() | match details |
![]() | ||||
14.11.16 q 1 | vs. Brian Boggs | 6-0, 6-0 | ![]() | match details |
14.11.16 q 2 | vs. Peter Bertran | 1-6, 5-7 | ![]() | match details |
14.11.16 | vs. Sebastian Sanchez | 6-3, 6-4 | ![]() | match details |
![]() | ||||
31.10.16 | vs. Niclas Braun | 3-6, 2-6 | ![]() | match details |
![]() | ||||
09.05.16 q 1 | vs. Raghav Jaisinghani | 6-2, 6-4 | ![]() | match details |
09.05.16 q 2 | vs. Manish Sureshkumar | 0-6, 0-6 | ![]() | match details |
![]() | ||||
02.11.15 q 1 | vs. Marcus Anker Aarthun Sulen | 4-6, 1-6 | ![]() | match details |