邓巴中尉是南北战争中的英雄,但是他想寻找一种新的生活方式,于是他骑著马西斯科来到了神奇的西部。邓巴被“海斯要塞”的范布鲁少校派到了最偏僻的哨所“塞奇威克”。邓巴独自在无人的哨所住下,大草原的壮美深深吸引了他。不久范布鲁少校自杀了,他的车夫也被波尼人杀死,于是邓巴与外界失去了联系。这无边无垠的苍天原野仿佛就是他的天堂,邓巴独自过着平静而单调的生活,还和一只两条前腿都是白色的野狼交上了朋友,并给它取名为“两只白袜”。邓巴和印第安苏族人有了接触之后,生活便不再平静。苏族人为邓巴的到来而议论纷纷,在如何对待邓巴上起了争执。邓巴决定主动去找苏族人,在去的途中他救起了一位想要自杀的苏族妇女“站立舞拳”,她原先也是白人,但自小就失去了亲人并被苏族人收养。在把“站立舞拳”交还给苏族人之后,邓巴骑马离去。邓巴的来访极大地震动了苏族人,印第安人头领们一致同意去回访邓巴。第二天,几个印第安人来到邓巴的驻地。就这样,双方开始了缓慢而友好的接触,渐渐地邓巴成了苏族人的朋友,他还有了一个印第安名字,叫做“与狼共舞”。他在捕猎野牛时的骑术和枪法令苏族人大为折服,以后又救了一位印第安男孩,不久他便搬入苏族人的营地居住,开始成为他们中的一员。与此同时,邓巴与“站立舞拳”之间也产生了真挚的感情。在凶残的波尼族人来袭时,邓巴倾其全力,将哨所里的枪支弹药分给了苏族人,帮助他们战胜了仇敌。邓巴再次成为苏族人的英雄。所有苏族人都敬慕邓巴,他们祝福邓巴与“站立舞拳”的相爱和结合。而邓巴也深切地认识到了印第安人的朴实、善良和友好,他自由而快乐地生活在苏族人中间。除了肤色和长相不同之外,邓巴已经是一个完完全全的印第安人了。然而,就在邓巴想要去哨所取回日记本,永远地住到印第安人中间时,他发现那里已经驻扎了一队白人士兵。他们看到印第安人装束的邓巴就开枪射击。爱马西斯科死了,邓巴也成了囚犯。邓巴为印第安人的辩护招来了一再的虐待和毒打。他们认定邓巴是叛徒。于是邓巴再也不说英语,而毅然说起了印第安语。驻军少校无计可施,只好派一队士兵押送邓巴回“海斯要塞”。苏族人发现邓巴被捉后,他们消灭了押送队,救出了邓巴。严冬来临了,苏族人在深谷中住了下来。为了不连累苏族朋友,邓巴谢绝了挽留,带着妻子“站立舞拳”离开了苏族人村落。十三年后,苏族人被迫与政府签订了协议,放弃他们世代相传的土地。