Aiming at that there are some heterogeneous nodes in special applications, time synchronization algorithm for heterogeneous WSNs based on cluster (TSBC) is proposed in this paper. In every round of TSBC, time synchronization is started by sink node, every heterogeneous node sends cluster head request message to sink node when it receives the time synchronization start message, and take itself as a cluster head when it receives the acknowledgement sent by sink node. Then, every cluster head broadcasts elected message in the net, common nodes select the nearest cluster head as their cluster head and join the cluster. Time synchronization begins firstly between sink node and cluster heads, and then begins between cluster heads and common nodes. The components of transmitting delay of synchronization message between sender and receiver are analyzed and computed, consequently, the time offset of nodes are obtained, and the frequency drift are computed by linear regression method. Simulation results indicate that TSBC has higher synchronization ratio and synchronization precision, longer lifetime and lower energy consumption than FTSP in heterogeneous WSNs.