For reference, a 1000 kg rock traveling at the speed of Apollo 13 (~40,000 kph) has the energy of about 1.5 tons of TNT. You'd need a mass of 5000 kg to reach 1 kT.
So 20MT would be 2000 times that, or roughly 1.333 million kilos. Mare Basalts run about 3300 kg/m
3, so it would take about 404 m
3 to get a 20MT whack, not allowing for ablation.
Very roughly a 10 meter sphere should do the trick.
Highland rock (feldspathic) has a lower density, around 2650 Kg/m
3, so it would take a larger sphere, and the impact breccia samples at about 2400 kg/m
3 would have to be even larger, but I think would be more likely to fragment during atmospheric entry.
IF (and that's a big if) that 10 meter ball of basalt hit the surface without breaking up, that would be roughly a 7 mile radius with 5 psi of overpressure (roughly the 'kill' radius of the impact, with widespread serious injury and death). Expect total devastation in roughly a three mile diameter area (not adjusting for terrain) with rare survivors only in protected locations, most concrete buildings would collapse in the 20 psi overpressure, if the effects are equivalent to a groundburst nuke.
It would take some whoppers to be planet wreckers, but 30-50 ft. chunks could do some serious damage to populated areas.
Lunar rock density source:
http://www.psrd.hawaii.edu/CosmoSparks/July12/PSRD-Lunar-rock-densities.pdf