民国二十四年(1935年),设牛华镇,属犍为县第四区。
1949年,析境地以北小部分置云华乡,属乐山县第二区。
1951年10月,设五通桥市牛华镇。
1952年11月,属五通桥市第三区。
1955年1月,牛华镇升区级镇。
1956年,析民胜、岷江、解放等小乡置解放乡。
1958年,乡改公社。
1984年4月,公社改乡。
1987年,解放乡并入牛华镇。
1992年9月,牛华乡并入牛华镇。
2001年9月,设二码头、碳坝市、半边街3居民委员会。
2004年10月,增设巴岩井居民委员会。
2010年9月,沙板滩村民委员会改居民委员会。
2019年12月13日,撤销新云乡,将其所属行政区域划归牛华镇管辖。