∵f(x)=x3-3x+m,∴f'(x)=3x2-3,由f'(x)>0,得x>1或x<-1,此时函数单调递增,由f'(x)<0,得-1<x<1,此时函数单调递减.即当x=-1时,函数f(x)取得极大值,当x=1时,函数f(x)取得极小值,要使函数f(x)=x3-3x+m只有一个零点,则满足极大值小于0或极小值大于0,即极大值f(-1)=-1+3+m=m+2<0,解得m<-2.极小值f(1)=1-3+m=m-2>0,解得m>2.综上实数m的取值范围:m<-2或m>2.故选:B.