Background: Peri-operative shivering, a challenging discomfort faced in anesthesiologists' daily practice. Many drugs were used as a prophylaxis, but there was no consensus on ideal or standard drug yet. Aim of the work: To compare the effectiveness and safety of pethidine, granisetron and tramadol in prophylaxis against perioperative shivering after spinal anesthesia. Patients and methods: Sixty adult patients, who underwent spinal anesthesia, were included. They were randomly assigned to granisetron, pethidine or tramadol (20 in each group), and submitted to standard intraoperative monitoring and follow up for postoperative 4 hours. Monitoring included electrocardiography, oxygen saturation, respiratory rate, temperature, non-invasive blood level, conscious level and sedation score. Side effects were documented. Results: Intra-and post-operatively, there was significant reduction of heart rate in granisetron and tramadol groups. Mean arterial pressure significantly decreased in granisetron group at the time from 30 minutes to the end of surgery and during the first two postoperative hours. Respiratory rate significantly decreased in pethidine group during the complete intra-and post-operative period. Granisetron had no sedative effect at all, but sedation was significantly increased among pethidine group. Finally, perioperative shivering was reported in 25%, 15% and 15% of pethidine, granisetron and tramadol groups respectively. Nausea/vomiting was reported in 20%, 10.0%, and 0% of pethidine, tramadol and granisetron groups respectively. Pruritus was confined to 30% pethidine group with significant difference. Conclusion: Granisetron, tramadol and pethidine, all are effective as a prophylaxis against perioperative shivering after spinal anesthesia. However, granisetron seems to be the most suitable drug.