Broadcast is an important primitive in wireless mesh networks (WMNs). Applications like network-wide software update require reliable reception of the content with low-latency and high scalability (i.e., utilizing little bandwidth resource). In reality, the link layer broadcast transmission in WMNs is unreliable, which makes these goals hard to be attained at the same time. In this paper, we consider one-to-all broadcast scenarios and put forward R-Code, a reliable and efficient broadcast protocol based on intra-flow network coding. The key idea is to construct a minimum spanning tree as a backbone whose link weight is the expected number of transmissions on that link. The broadcast overhead and delay are simultaneously reduced by enabling the non-leaf nodes in the tree to move to the next batch of file segments as early as possible, while ensuring their downstream nodes reliably receive and correctly decode all the packets in the current batch. Opportunistic overhearing is utilized to further reduce the number of transmissions. Extensive simulation results show that our scheme always achieves 100% packet delivery ratio (PDR), while enjoying less broadcast overhead and much shorter delay than AdapCode, 14% and 50%, respectively.