הצטרף לתנועת 'החלוץ' בעיראק בשנת 1942. עלה ארצה בשנת 1945. גויס ל'הגנה' בשנת 1947 ושירת במלחמת העצמאות כמפקד פלוגה. בשנים 1951-1949 מילא תפקיד מרכזי בהעלאת יהודי עיראק. למד מדע המדינה באוניברסיטה העברית ומנהל עסקים באוניברסיטת תל-אביב. כיהן כראש המועצה המקומית אור-יהודה בשנים 1969-1955. בשנת 1957 נבחר למזכירות מפא"י ונמנה על תומכיו של בן-גוריון. בשנת 1965 היה ממיסדי רפ"י ונבחר מטעם המפלגה לכנסת הששית. בשנת 1968 הצטרף עם רפ"י למפלגת העבודה והמשיך לכהן כחבר כנסת עד לשנת 1977. היה חבר בוועדת הפנים ובוועדת חוקה, חוק ומשפט. בכנסת השמינית כיהן כסגן יו"ר הכנסת. בשנים 1972-1970 היה סגן מזכיר מפלגת העבודה.
בשנת 1973 הקים את 'מרכז מורשת יהדות בבל' באור יהודה, ומאז הוא עומד בראש הוועד המנהל של המוסד. בשנת 1975 היה ממקימי 'הארגון העולמי של יהודים יוצאי ארצות-ערב' וכיהן כיו"ר-עמית של הארגון. בבחירות בשנת 1977 נכשל בנסיונו להיבחר לכנסת בראש רשימת 'התנועה להתחדשות חברתית'. בשנת 1979, בשליחות הסוכנות היהודית, סייע בעליית יהודי איראן. בשנים 1983-1981 היה מראשי תל"ם (התנועה להתחדשות ממלכתית), ייצג אותה בכנסת העשירית וכיהן בממשלה כשר ללא תיק בשנים 1984-1982. לאחר הפילוג בתל"ם, בשנת 1983, הקים את 'התנועה להתחדשות ציונית חברתית', שלא עברה את אחוז החסימה בבחירות לכנסת ה-11בשנת 1984. הצטרף לליכוד בשנת 1988. בשנת 2003 הוענק לו פרס ישראל על מפעל חיים, תרומה מיוחדת לחברה ולמדינה.