The trick is to use a flying type Pokemon against him. I recommend Taillow, sometimes found in the grass to the right of Rustboro, Route 116. Or you can use another flying type such as Wingull, found on Route 103. Level them both up above Dewford's Gym Leader's Pokemon and use only flying moves on them.
you go to the bout in dewford town to saleport city
Beat the 5th gym leader and get HM03 surf and surf there from Dewford Town
The second gym is the Dewford Town Gym with Gym Leader Brawly.
In Dewford town.
Go to dewford beat the gym leader brawly and then go to the cave and talk to the man inside the cave and he will give u flashbut if u haven't beat brawly then u can't use it at dewford
go to the house down on the left tell him you want to sail to dewford city
Dewford town.
The second gym leader is brawley of Dewford town. You will come to the PetalburgGym second, but that's the last gym leader you'll battle.
Brawly is the 2nd gym leader at dewford town.
After beating the 2nd gym leader you need to see steven in the cave in dewford town if you have not already if you already talked to steven then talk to mr briney and go to slateport city from here go north to mauville city and beat the 3rd gym leader there.
The first 4 gyms are Rustboro City Gym leader Roxanne, Dewford Town Gym leader Brawly, Maulville City Gym leader Watson and Lavaridge Town Gym Leader.
Leonarage: You get it by defeating the FIGHTING-Type Gym Leader in Dewford Town. To beat him, you'll need to defeat his: Machop (Level 17), Makuhita (Level 18).