The document proposes a cooperative water-filling (CoopWF) power allocation algorithm for small cell networks to mitigate interference. It adopts block diagonalization precoding to cancel inter-user interference. The algorithm is evaluated using a multi-cell MIMO system model with 2-3 cooperative small cells. Simulation results show the CoopWF algorithm provides better mean capacity compared to existing algorithms, improving capacity by 0.3-0.4 Mbps with 3 cooperative small cells at low SNRs from -10 to 0 dB. The algorithm and precoding scheme are easily implementable for small cell networks like femtocells to improve spectral efficiency.