Flying non-stop between EWR and PUJ with United Airlines or JetBlue Airways is the fastest flight option. The flight takes about 3 hours and 50 minutes.