כהן נולד באילת להורים ממוצא מרוקאי, כבן האמצעי מבין שלושה. הוא למד בבית הספר היסודי ובחטיבת הביניים "ערבה", בהמשך בתיכון "אילת".[1] התחיל את דרכו במחלקת הנוער של קבוצת הפועל אילת ובעונת 1987/1988 עלה לקבוצת הבוגרים, אשר שיחקה בליגה ב', שהייתה אז הליגה הרביעית. הוא עבר להפועל אשדוד וכעבור חצי שנה חזר להפועל אילת. אף על פי ששיחק בקבוצה קטנה מהפריפריה, התאמן בנבחרת הנוער של ישראל, שם התרשמו ממנו אנשי הליגה העליונה.[1]
בעונת 1988/1989 עבר להפועל פתח תקווה, והוקפץ על ידי מאמנו, אברהם גרנט, לעמדת השוער הראשון, עוד בטרם מלאו לו שמונה עשרה שנים. בשני משחקיו הראשונים הוא ספג שלושה שערים, אך בהמשך העונה השתפר והיה אחד השחקנים המרכזיים שהובילו את קבוצתו למקום השני בליגה. כהן המשיך לשחק היטב גם בשתי העונות שלאחר מכן, בהן השלימה הפועל פתח תקווה רצף של שלוש עונות ברציפות במקום השני. כמו כן, ב-1990 וב-1991 זכה כהן עם קבוצתו בגביע הטוטו.
ב-1992 ערך את הופעת הבכורה בנבחרת ישראל, במשחק ידידות מול נבחרת קפריסין. באותה שנה זכה עם הפועל פתח תקווה בגביע המדינה, ובעקבות הזכייה רשם כהן הופעה בגביע המחזיקות עם הקבוצה בעונת 1992/1993, בפעם הראשונה בה השתתפו קבוצות ישראליות במפעלי אופ"א. תחילה הציג יכולת טובה, אך טעות שביצע במשחק הגומלין של הסיבוב הראשון, גרמה לספיגת שער חוץ ולהדחה מהמפעל. בהמשך העונה נפצע, ונאלץ להיעדר ממשחקים רבים.
בעונת 1993/1994 עבר כהן למכבי חיפה, ושיחק בה בעונה שהייתה אחת מהמוצלחות בתולדות הקבוצה, בה זכתה באליפות ללא אף הפסד, והעפילה עד לשמינית גמר גביע המחזיקות. בשמינית הגמר הצליחה לכפות על פארמה האיטלקית הארכה, לא מעט בזכות יכולת טובה של כהן, שאף הדף פנדל. לבסוף הפסידה מכבי חיפה בבעיטות הכרעה. כמו כן זכתה מכבי חיפה בגביע הטוטו. בעונה שלאחריה זכה כהן עם מכבי חיפה בגביע המדינה.
בעונת 1999/2000 חזר להפועל פתח תקווה. בעונה זו הייתה פתח תקווה בתמונת האליפות עד למחזורי הסיום, ובסופה, ב-30 ביוני2000, ערך כהן את הופעתו האחרונה בנבחרת ישראל, במשחק ידידות מול נבחרת הונגריה. את עונת 2001/2002 התחיל במכבי קריית גת, העולה החדשה לליגת העל, ובהמשכה עבר למכבי פתח תקווה לעונת הישרדות. לאחר מכן חזר כהן להפועל פתח תקווה ל-5 עונות נוספות. בעונות אלו הרבתה הפועל פתח תקווה להיות בתחתית הליגה, ושוב מצא עצמו כהן מעורב במאבקי הישרדות. ב-2005 זכה עם הפועל פתח תקווה בגביע טוטו נוסף.
ב-2006 עבר כהן פציעה לא קלה, ושוער זר הובא במקומו. גם לאחר שהחלים, המשיך כהן לשבת על הספסל. בעונת 2006/2007 חזר אל בין הקורות, ובמהלכה רשם בדרבי הראשון מול מכבי פתח תקווה את הופעתו ה-500 בליגה. בסיומה של העונה הפך לשחקן בעל מספר ההופעות הגבוה ביותר בליגה בכל הזמנים, עם 519 הופעות בסך הכול, ובכך השתווה לגידי דמתי שקבע את השיא. לימים נשבר השיא בידי אלון חרזי.
בעונת 2007/2008 עבר באמצע הסיבוב הראשון לקבוצת הכח עמידר רמת גן מהליגה הלאומית על מנת לקבל דקות משחק, ועמה עלה לליגת העל. לאחר עונה אחת בהכח עבר כהן בעונת 2008/2009 ליריבה העירונית הפועל רמת גן, עמה עלה בשנת 2009 לליגת העל. לאחר שחזר עם הפועל רמת גן לליגת העל, במשחק נגד מכבי תל אביב שבר שוב כהן את שיא ההופעות של אלון חרזי אשר עמד על 526 הופעות, שיא שמאוחר יותר נשבר על ידי אריק בנדו. ב-3 בינואר2010 פתח בהרכב במשחק ליגה מול מכבי פתח תקווה, ובכך הצטרף אל שוער העבר יעקב אסייג והפך לכדורגלן השני אי-פעם ששיחק בליגה הישראלית הבכירה במשך ארבעה עשורים שונים.
בקיץ 2010 עזב רפי כהן את הפועל רמת גן אחרי שנתיים וחתם בהפועל ירושלים אשר ירדה לליגה א'. בעונה שלאחר מכן עלה עמה לליגה הלאומית, ובסך הכול שיחק שלוש עונות במדיה.