Haddington got off to a winning start thanks to a brace of tries from Kyle Adams, and a try on debut from Kyle Hamilton.
The visitors were plucky throughout, and had chances to take more from the game, but Adams' late second score made the game safe.
Haddington side: 15 James Ferguson, 14 Kyle Adams, 13 Kyle Hamilton, 12 Liam Clutton, 11 Mark Robertson, 10 Gareth Pritchard, 9 Gary Dyer; 1 Alan Laidlaw, 2 Colin Stuart (c), 3 Garry Cockburn, 4 Ben Laing, 5 Harry Hamilton, 6 Charlie Hamilton, 7 Kris Paterson, 8 Mark Renton
Replacements: Rab Watt, Kyle McGarvie, Alex Ferguson, Alex Watt