Gyarados, easy. Lapras isn't a powerhouse, with 85 offenses, when Gyarados has a huge base 125 attack stat. Gyarados also has two fantastic abilities in Intimidate for bulkier sets, and Moxie for more all-out offensive sets. Now what make Gyarados so good, is the set up move it gets. Dragon Dance. One of the best set up moves in the game. After just one or two Dragon Dances, it's lower speed is patched up, and it's attack reaches insane levels.
Now, the best set you can probably run is a bulky Dragon Dance set.
Gyarados @ Leftovers
Trait: Intimidate / Moxie
EVs: 88 HP / 248 Atk / 4 Def / 168 Spe
Jolly Nature
- Substitute / Taunt
- Dragon Dance
- Waterfall
- Bounce
Or, going completely offensive is always an option.
Gyarados @ Life Orb
Trait: Moxie
EVs: 252 Atk / 252 Spd / 4 Def
Adamant / Jolly Nature
- Dragon Dance
- Waterfall
- Bounce
- Earthquake / Stone Edge
You could always go for a revenge killer, a Choice Scarf set, or a Choice Band set for power right away, but these two are generally preferred.
Hope I helped! :)