In the traditional reliable multicast schemes of wireless cellular network, base station (BS) repeatedly transmits the same packet until it is received by all receivers. The use of device-to-device (D2D) communication can greatly offload the traffic of BS. This paper considers D2D communication-based multicast from BS to a cluster of devices which are close to one another (e.g., in the same building). So far, the efficient D2D retransmission scheme available is to associate each NACK-device (which did not correctly receive the data from BS) to some near ACK-device (which correctly received the data) for forming subclusters, and let ACK-devices retransmit the data to their respective associated NACK-devices in the FDMA mode by using multiple channels, aiming to minimize the time–frequency resource cost. Noticing that the total available channels are very limited and the devices’ energy is a very precious resource, in this paper, we first present the subcluster-based single-channel D2D retransmission way where the ACK-devices use the same channel in the TDMA mode. Then, aiming to minimize the total energy consumption of retransmitters, we formulate the joint optimization of NACK-devices’ association and retransmitters’ transmission powers to be a mixed integer programming problem. Finally, we propose an efficient algorithm for this problem to find a good association pattern and transmission powers. Simulation results show that, using D2D communication greatly reduces multicast traffic load of BS. Moreover, compared to its counterparts with a fixed number of retransmitters, our retransmission scheme greatly reduces the total energy consumption of retransmitters.