Ravi was born in Vayalar, Cherthala, Alappuzha District, Kerala. He was the first General Secretary of the Kerala Students Union (KSU), the students' wing of Indian National Congress in Kerala. Ravi was elected to the 5th Lok Sabha in 1971 from Chirayinkil in Thiruvananthapuram district; he was re-elected to the 6th Lok Sabha in 1977, serving until 1979. He was elected to the Kerala Legislative Assembly in 1982, and he served as Home Minister of Kerala from 1982 to 1986 before resigning from that position due to a disagreement with Chief Minister K. Karunakaran. He was re-elected to the Kerala Legislative Assembly in 1987, serving until 1991. He was elected to the Rajya Sabha in July 1994 and again in April 2003. He became Union Cabinet Minister for Overseas Affairs on 30 January 2006.