שלמה נולד בירושלים בכ"ו בשבט תרפ"ח, 17 בפברואר 1928 לאביו, שמואל, ולאִמו, זלדה. גדל בשכונת בית־ישראל, במשפחה דתית והוא בן הזקונים בין חמישה אחים. למד בישיבת "עץ־חיים" ללא לימודי חול מסודרים, אך בגיל יותר מבוגר השלים חלקית את השכלתו, בעיקר בתחום הפקידות. החל לעבוד בגיל צעיר כפקיד־חניך בלשכתו הפרטית של הרב הרצוג, הרב הראשי לארץ ישראל.

בגיל 16 הצטרף לברית החשמונאים ובעקבות רבים מחברי התנועה הגיע אף הוא ללוחמי חרות ישראל. בהיותו בן 17 עסק בהדבקת כרוזים וגם ניצל את תפקידו כעובד בלשכתו של הרב הרצוג כדי להכיר את המבנה והמשרדים של הבולשת הבריטית. דבר זה התאפשר לו בכך שאת המכתבים מהרב אל הבולשת לא שלח בדואר אלא היה מוסרם אישית לנמענים. בשנת 1946, בעקבות פרישת חיים קוברסקי מלח"י, פרש אף הוא והצטרף להגנה.

במלחמת העצמאות הצטרף לצבא ההגנה לישראל ושרת בגדוד "מוריה", נפצע פעמיים, אולם חזר לשרות והמשיך במילואים עד מלחמת ששת הימים. לאחר שחרורו משרות סדיר, החל לעבוד בעיריית ירושלים כפקיד במחלקת החינוך עד יציאתו לגמלאות בשנת 1988.

בשנת 1951 נשא לאִשה את בלה לבית הירש. הם התגוררו בירושלים ונולדו להם שני בנים, בת ונכדים.

שלמה וינברג נפטר ביום כ"ב באדר תשנ"א, 8 במרץ 1991 והובא למנוחות בהר המנוחות בירושלים.