台湾担任海防同知。道光元年（1821年）因故贬至噶玛兰（今宜兰县）任通判。他将从台南一路前往噶玛兰就任旅途之见闻、记述成《台北道里记》一书。道光十二年（1832年）调江苏武进知县。
镇守台湾.道光十八年（1838年）擢升按察使衔分巡台湾兵备道，成为台湾最高军政官员。姚莹上任台湾道之后，治绩颇佳。是少数能洞悉乱源，并提出解决之道、建立事功的清朝驻台官吏。 道光二十年（1840年），鸦片战争爆发，他奉命严加镇守台湾。道光二十一年（1841年），强台风致英船 Nerbudda 号失事(