Ultimately from Latin sāpō, from Proto-Germanic *saipǭ. The word was probably inherited from Arabic صَابُون (ṣābūn), which is clearly old enough to have passed into Maltese. The -p- does of course betray influence by cognate Sicilian sapuni, but does not prove borrowing.
sàpūn m (Cyrillic spelling са̀пӯн)
- “sapun” in Hrvatski jezični portal