Radial artery spasm occurs frequently during the transradial approach for coronary catheterization. Premedications with nitroglycerin and verapamil have been documented to be effective in preventing radial spasms. Verapamil is relatively contraindicated for some patients with left ventricular dysfunction, hypotension and bradycardia. We would like to know whether nitroglycerin alone is sufficient for the prevention of radial artery spasm. We conducted a randomized controlled trial to compare the spasmolytic effect between heparin alone, heparin plus nitroglycerin and heparin plus nitroglycerin and varapamil during transradial cardiac catheterization. In this study, a total of 406 patients underwent transradial cardiac catheterization and intervention. After successful cannulation and sheath insertion of radial arteries, 133 patients in group A received 3,000 units of heparin, 100 µg of nitroglycerin and 1.25 mg of verapamil via sheath, 135 patients in group B received 3,000 units of heparin and 100 µg of nitroglycerin, and 93 patients in group C received 3,000 units of heparin. Five patients in group A (3.8%), 6 patients in group B (4.4%) and 19 patients in group C (20.4%) showed radial spasms. There is no statistically significant difference between groups A and B (p = 0.804), but there are strong statistically significant differences between groups A and C (p = 0.001) and groups B and C (p = 0.003). Intra-arterial premedication with 100 µg nitroglycerin and 3,000 units of heparin is effective in preventing radial spasms during transradial cardiac catheterization.