עלה ארצה בשנת 1939. עבד כפועל בנין וכמתדלק. החל לפעול במסגרת 'הליגה הסוציאליסטית', שהצטרפה בשנת 1946 למפ"ם. היה חבר מועצת פועלי ירושלים משנת 1946. כיהן כיו”ר 'איחוד עולי בולגריה' בירושלים בשנים 1950-1949. נבחר למוסדות שונים של ההסתדרות הכללית מטעם מפ"ם. היה חבר הוועד הפועל של ההסתדרות בשנת 1961. כיהן כחבר כנסת מטעם מפ"ם בכנסות החמישית והששית (בשנים 1969-1961) והיה חבר בוועדת הכספים. היה חבר מועצת עיריית ירושלים משנת 1965. בשנת 1969 צורף לממשלה כשר בלי תיק. בשנים 1979-1970 כיהן כשר הבריאות. בשנת 1974 כיהן מספר חודשים גם כשר הסעד. עמדותיו היו 'יוניות' מובהקות. גיבש עם אהרן יריב את 'נוסחת יריב-שם-טוב' שהוגשה לממשלת גולדה מאיר בתחילת 1974. שימש כמזכיר המדיני של מפ"ם בשנים 1980-1977 וכמזכ”ל מפ”ם בשנים 1985-1980. כיהן שוב כחבר כנסת מטעם 'המערך' בכנסות ה-10 וה-11 (בשנים 1988-1981). היה חבר בוועדת החוץ וביטחון ובכנסת ה-11 היה חבר גם בוועדת האתיקה. התנגד למלחמת לבנון מיומה הראשון. סירב להתמנות לשר בממשלת האחדות בשנת 1984. תמך בפרישת מפ"ם מהמערך ובאיחוד בין רצ למפ"ם במסגרת מרצ. נמנה עם חותמי הרשימה של מרצ בבחירות לכנסת ה-15 בשנת 1999 .