2002年,出演首部电视剧《刑警的故事》从而正式进入演艺圈。
2003年,在都市情感剧《居家男人》中饰演大李一角。
2004年,在李少红执导的电影《人在北京》中担纲男一号 ;同年,与黄渤、陶泽如、孙松、马少华、高秀敏联袂出演都市励志剧《生存之民工》,在剧中饰演性情冷僻极具正义感的民工杨志刚 。
2005年,出演陈坤、郭羡妮、刘松仁、马德钟主演的古装剧《争霸传奇》,在剧中饰演封伍。
2006年,在都市情感剧《谁与争锋》中饰演卢军;同年,在电影《一座城市和两个女孩》担纲男一号”阿青“。
2007年,主演改编自英国文学《呼啸山庄》的民国情感剧《明日已太远》,在剧中饰演男一号卫天熙 ;同年,在刑侦悬疑剧《水中花》中饰演王志强。
2008年,与丁勇岱、徐雅祺、王姬主演都市情感剧《爱的方式》,在剧中饰演少霞的恋人李潇 ;在孙红雷主演的谍战剧《潜伏》中饰演潇洒而儒雅的军人廖三民 。
2009年,和黄渤主演电影《蛋炒饭》;同年主演由张海迪编剧的电影《我的少女时代》。励志剧《乱世玉缘》中饰演出身卑微但却心怀坦荡的奴仆梁忠 ;同年,在悬疑侦探剧《大侦探》中担纲男主角 。
2010年,和邵兵 张恒主演29集国际密战传奇剧《马迭尔旅馆的枪声》,在剧中饰演大反角——叛徒江彬 ;同年和闫妮 耿乐主演由管虎执导的抗日剧《女子军魂》中饰演军需处处长涂红旗一角 。
2011年,与由高虎、宁静联袂主演近代剧《四川往事之有多少爱可以重来》,在剧中饰演四川一户盐井巨商的养子孟天慕 ;同年,在长篇历史连续剧《大秦帝国之崛起》中饰演战国奇人苏秦一角 。
2012年,与金莎、苏青、刘子豪主演近代情感剧《那是一个春天》,在剧中饰演男主角李创 。
2013年,主演的电视剧《生存之民工》在时隔八年后更名为《春天里》并上星在山东卫视首播 。
2014年,主演电影《荒村怨灵》,饰演主人公 吴振堂。
2015年,11月和胡歌孙红雷张嘉译加盟姜伟执导的职场商战剧《猎场》;同年惊悚电影《荒村怨灵》12月11日上映,王小毅饰演主人公吴振堂 。
2016年,凭借主演电影《野长城》,获得美国旧金山国际新概念电影节最佳男主角奖 ;同年自编自导自演电影《五天六夜》拍摄中。
2017年,主演由顾伟导演的电影《二月泉》。
2018年3月搭档李易峰主演由王伟导演的电视剧《隐秘而伟大》 ,同年9月在由欧阳奋强监制、梅子导演的电影《情圣曹雪芹》中饰演曹雪芹 。