The HM07 Waterfall can be obtained from Lydia after defeating Volkner, the Gym Leader of Sunyshore City. After defeating Volkner he will give the player the Beacon Badge, which is the last badge that the player needs to collect and one that will allow him or her to use the HM07 Waterfall.
Apart from the Beacon Badge, the player will also receive TM57 Charge Beam from Volkner. For the battle, Volkner will use a level 46 Raichu, a level 47 Ambipom, a level 47 Octillery and a level 49 Luxray.
Once the player has defeated and collected the badge and TM from Volkner, he or she should exit the gym and head north of Sunyshore City. There, the player will meet Lydia, a gym leader in the Johto region, who will hand him or her the HM07 Waterfall.