Instructions
Head to the Lake of Rage, north of Mahogany Town. You will find Red Gyarados here.
Save your game right before beginning the battle with Red Gyarados.
Head to the middle of the lake using the Surf technique that you learn from fighting Morty. Use a combination of attack moves that will lower Red Gyarados' HP points. Attack moves that work best include HM, which you learn from saving the girl, Paralyzing, Make It Fall Asleep and Freeze It.
Throw ultra balls at the Red Gyarados once its HP is low enough until you catch it.