Hook wurde in Port Talbot, im Süden Wales, geboren. Seine Karriere begann beim Neath RFC, dem ältesten Rugbyklub des Landes. 2004 wechselte er zu den Ospreys, wo er erstmals in der Saison 2006/07 in der Startformation stand. Sein Nationalmannschaftsdebüt gab Hook 2006 im Spiel gegen Argentinien, wo ihm auch sein erster Versuch gelang. Es folgten starke Leistungen gegen Australien beim 29:29-Unentschieden und die Pacific Islanders. Während der Six Nations 2007 nahm Hook an allen Spielen seines Teams teil, jedoch zumeist auf der für ihn ungewohnten Position des Innendreiviertels. Erst beim Abschlussspiel gegen England wurde er als Verbindungshalb eingesetzt und sorgte mit seinen 22 Punkten für den Sieg der Waliser. Anschließend wurde er zum „Man of the Match“ ernannt. Diese Leistung konnte er bei den Six Nations 2008 wiederholen, als er seine Mannschaft zum Auswärtssieg in England führte und am Ende des Turniers den Grand Slam erreichen konnte.