|Device-to-Device (D2D) communications can provide proximity based services in the future 5G cellular networks. It allows short range communication in a limited area with the advantages of power saving, high data rate and traffic offloading. However, D2D communications may reuse the licensed channels with cellular communications and potentially result in critical interferences to nearby devices. To control the interference and improve network throughput in overlaid D2D cellular networks, a novel channel assignment approach is proposed in this paper. First, we characterize the performance of devices by using Poisson point process model. Then, we convert the throughput maximization problem into an optimal spectrum allocation problem with signal to interference plus noise ratio constraints and solve it, i.e., assigning appropriate fractions of channels to cellular communications and D2D communications. In order to mitigate the interferences between D2D devices, a cluster-based multi-channel assignment algorithm is proposed. The algorithm first cluster D2D communications into clusters to reduce the problem scale. After that, a multi-channel assignment algorithm is proposed to mitigate critical interferences among nearby devices for each D2D cluster individually. The simulation analysis conforms that the proposed algorithm can greatly increase system throughput.