שלמה נולד ביום ז’ באייר תרע”ו, 10 במאי 1916 בסופיה, בולגריה לאִמו ג’נט לבית פנחס ולאביו נסים. למד בגימנסיה בולגרית ממלכתית והיה חבר פעיל בבית”ר, בה התמנה למפקד קן בית”ר סופיה. בשנת 1935 עלה ארצה באופן לגלי והצטרף לפלוגות הגיוס של בית”ר בזכרון־יעקב ואַחַר במזכרת בתיה. בשנת 1936 היה חבר ב”הגנה הלאומית” בזכרון־יעקב, סיים קורס סגנים ומונה מפקד הסניף. בימי המאורעות תרצ”ו–תרצ”ט השתתף בפעולות תגמול נגד הפורעים הערבים.
בשנת 1937 נעשה חבר הארגון הצבאי הלאומי והיה אחראי על אזור עקרון. בחודש מרס 1939 נשלח שלמה לקורס מפקדי האצ”ל שנערך באנדריכוב שבהרי הקרפטים בפולין. עם סיומו, נשאר להדריך בקורס מֶרכזי להדרכה בפינסק, פולין. לאחר שובו ארצה הדריך קורסים בשוני ובגליל ולאחר זאת התמנה, בספטמבר 1939, מפקד האצ”ל בגליל העליון. בעת הפילוג באצ”ל ב־1940, הצטרף אל אברהם שטרן (יאיר) והפך חבר לח”י.
בשנת 1941 נעצר ברחוב, מאחר שנכלל ברשימת החשודים בהשתייכות ל”קבוצת שטרן”. לאחר שהות קצרה בכלא יפו, נכלא במחנה המעצר במזרע ואחר־כך בעכו, שם ישב יותר משלוש שנים, עד שהוגלה לאפריקה ביום 19 באוקטובר 1944, במשלוח הראשון של 251 עצורים מהאצ”ל ומלח”י. הוא ישב במחנות סמבל, ליד אסמרה, באריתריאה, בקרטאגו שבסודן, שוב באריתריאה ובגילגיל שבקניה. במשך כל השנים האלה היה האחראי מטעם חברי לח”י. שלמה השתתף בבריחה הגדולה של 51 עצורים מהמחנה באריתריאה ביום 29 ביוני 1946, נתפס והוחזר למחנה. בביום 29 במרץ 1948, ברח שנית, ממחנה גילגיל, עם חמישה חברים נוספים, הגיע לצרפת, והתמנה אחראי על לח”י באירופה.
בראשית שנת 1949 שב לישראל. תוך זמן קצר נעצר כאיש לח”י והושם במעצר, בקשר לפרשת ברנדוט (במסגרת מעצר כל חברי לח”י לשעבר), ושוחרר עם החנינה הכללית. התגייס לצה”ל ושרת בחיל האויר (במילואים השתתף במיבצע קדש).
שלמה נשא לאשה את יהודית לבית פזקש, גם היא חברה פעילה בלח”י, ונולדו להם שני ילדים, יאיר ורויטל, וארבעה נכדים. יהודית נפטרה בשנת 1983.
שלמה היה פעיל ב”מפלגת הלוחמים” עד לפירוקה. הוא עסק בקבלנות בניין ובעבודות ציבוריות, בין היתר בחציבה בכביש סדום. אַחַר עסק בהפצת ספרים ובמו”לות.
שלמה נפטר ביום כ”ח באדר תש”ע, 14 במרץ 2010 והובא למנוחות בבית העלמין שדה יהושע בחיפה.