After you defeat the final Gym Leader and get all eight Gym Badges, you can go west to Route 22 on your way to the Pokémon League.
Explore Route 22
In the southwest corner of Route 22, you will find 5 Poké Balls.
From there, go back east, then go north through the grass. Go north from the ramp and check in the bush on the left to find a hidden Antidote.
Go south, then west on the brick road. As you go along, your rival will challenge you to a battle. Your rival has a level 50 Pidgeot, a level 50 Vileplume, a level 51 Raichu if you are playing Pokémon Let's Go Eevee or a level 51 Jolteon if you are playing Pokémon Let's Go Pikachu, and a level 50 Marowak. You get 8160 Pokédollars for winning.
Afterward, go west, then jump down the ledge to the south. You can surf in the water if you wish. Otherwise, go south from the grass, but don't jump down the ledge. Go west, then go north and enter the Pokémon League building.
Go north and the guard will see that you have a Boulder Badge, so you can go north through the door to reach Route 23.