大臣們也紛紛上書,要求皇帝早立太子,免生禍亂。後來,朱常洛被正式立為太子,此時他已20歲。鄭貴妃一班人並不死心,朱常洵同年10月被封為福王,按道理應該離開京城,到屬地洛陽就任。但在鄭貴妃的要求下,他卻遲遲沒有離京,總在伺機尋找機會。太子朱常洛的地位並不穩固,雙方明爭暗鬥。
因此朝臣有人懷疑是鄭貴妃想要謀害太子,王誌、何士晉、張問達奏疏譴責外戚鄭國泰“專擅”;鄭貴妃則惶惶不可終日,向皇上哭訴,神宗朱翊鈞要她去向太子表明心跡。經過禦史劉廷元審訊,張差是薊州井兒峪人,語言顛三倒四,常提到“吃齋討封”等語。刑部提牢主王之寀認為事有蹊蹺,覺得張差決不像瘋癲之人,用飯菜引誘他:“實招與飯,不招當饑死。”張差低頭,又說:“不敢說。”王之寀命眾人回避,親自審問。
據張差講,他本名叫張五兒,父親已經去世,比較近的親戚有馬三舅、李外父等人。他們讓他跟著一個不知道姓名的老公公,隻要按他的要求去做,完事後就能給他30畝土地。於是他就跟老公公到了京城,來到一個大宅子又來了一個老公公,請他吃飯,並囑咐他說:“你先衝進去,撞著一個,打殺一個,殺人也無防,我們自會救你。”吃完飯,領著他經過厚載門,進了慈慶宮,看門的不讓進,就把看門人打傷了。
後來他就被逮住了,再問老公公是誰,張差就不說話了。
萬曆皇帝一聽,似乎還有隱情,命令員外郎陸夢龍再次提審張差,並引誘他:如畫出入宮的路徑,說出所遇到人的名字,不僅可以免除他的罪過,而且可以償還他被燒掉的柴草。張差信以為真,於是說:“馬三舅名三道,李外父名叫守才,都住薊州井兒峪。前麵不知道姓名的老公公,實際上是修鐵瓦殿的龐保。三舅和外父常到龐保住的地方送灰,龐保、劉成兩個人在玉皇殿前商量,還有我三舅、外父,他們逼我拿著棍子打進宮中。如果能打到太子,吃也有了,穿也有了,一同密謀的還有姐夫孔道。”隨後又畫出入宮路徑。
陸夢龍馬上派人調查取證,逮捕了馬三道等人,經核實,張差說的基本無誤。但是龐保、劉成二人,僅是兩名太監,地位低下,單憑他們不可能有如此膽量。可他們均是鄭貴妃的內侍,莫非此事是鄭貴妃背後指使?一時間朝野嘩然,紛紛猜測,都懷疑鄭貴妃想要謀殺太子,以便扶立福王。消息傳開後,太子和鄭貴妃先後趕來見萬曆皇帝。
萬曆皇帝看到雙方如此對立,指著鄭貴妃說:“群情激怒,朕也不便解脫,你自去求太子吧!”
朱常洛看到父親生氣,又聽出話中有音,隻得將態度緩和說:“這件事隻要張差一人承擔便可結案。請速令刑部辦理,不能再株連其他人。”萬曆皇帝聽後,頓時眉開眼笑,頻頻點頭:“還是太子說得對。”萬曆皇帝見牽扯到鄭貴妃,不想再追查下去。最後,張差被處死,馬三道等人被發配邊疆,龐保、劉成兩人暫時沒有追究。一場梃擊案最後就這樣不了了之,最後以瘋癲奸徒罪將張差處以淩遲。張差臨死前曾說:“同謀做事,事敗,獨推我死,而多官竟付之不問。”(據《先撥誌始》)。不久刑部、都察院、大理寺三法司前後五次會審龐保、劉成兩人,由於人證消失,龐、劉二犯有恃無恐,矢口否認涉案。六月一日,明神宗密令太監將龐保、劉成處死,全案遂無從查起。
張差梃擊案背後主使真的是鄭貴妃嗎?也有人懷疑是太子自演自導的一出“苦肉計”,目的是借此陷害鄭貴妃。不管怎樣,梃擊案真相究竟如何,恐怕無人知曉了。梃擊案遂成為明朝三大迷案之一。