What you need is a feraligatr.and then a gyrarados at level 45 or higher and then at least 2 ice Pokemon at level 45 or higher and then you should get a dratini and evolve it into a dragonair and then evolve it into a dragonite which is at level 55 and one of the legendery Pokemon like entei HO-OH or raikou. That is one of the best ways to beat lance well that's how i beat him.
Chat with our AI personalities
Ice type Pokemon can easily defeat lance's Pokemon also for his gyrados and aerodactyl you can use an electric type.
You need hm6. Lance giwes to you when you beat all the rockets in Mahogany town. And you need Pryce's badge.
You can beat the Elite Four again, and battle Red again. If you beat lance and the elite four and Lance again then you are able to face Red at mt silver.
Use surf or thunder. Make sure your Pokemon is around level 60
In mahogany town where he will want help to beat team rocket there