Houston led, 77-69, with 3:47 to go in the third quarter when Dallas reeled off 14 straight points led by Buckner, who hit three jumpers during the stretch. Dirk Nowitzki made two layups to end the quarter and finished with 18 points and 16 rebounds in 23 minutes.
The Rockets cut the deficit to 86-85 with 8:47 remaining and, after Donnell Harvey sank a jumper for Dallas, El-Amin fed Buckner for a score and drained a three-pointer on the next possession for a 93-85 cushion.
El-Amin's jumper with 4:19 to go gave Dallas its biggest lead at 101-91. Houston rebounded with a 15-6 run to pull within one on Moochie Norris' layup with one minute to go.
The Mavs led, 112-107, with 10 seconds left before Steve Francis' three-pointer narrowed the gap with seven seconds to play. El-Amin sank three free throws in the final seven seconds to seal the victory.
Francis scored 34 points and grabbed 10 rebounds for the Rockets. Norris had 16 points and nine assists.
Walt Williams scored 22 points and made three of six three-pointers for Houston, which hit 10 of 25 shots from beyond the arc. Kelvin Cato and Damon Jones scored 11 points apiece.
The Rockets played without Cuttino Mobley and Glen Rice due to injury while first-round draft pick Eddie Griffin did not play.