{"id":2253292,"date":"2026-01-27T19:51:11","date_gmt":"2026-01-27T19:51:11","guid":{"rendered":"https:\/\/celebrity.land\/en\/?p=2253292"},"modified":"2026-01-27T19:51:11","modified_gmt":"2026-01-27T19:51:11","slug":"who-won-celebrity-sas-who-dares-wins-3-stars-pass-course","status":"publish","type":"post","link":"https:\/\/celebrity.land\/en\/who-won-celebrity-sas-who-dares-wins-3-stars-pass-course\/","title":{"rendered":"Who won Celebrity SAS: Who Dares Wins? 3 stars pass course"},"content":{"rendered":"<p><\/p>\n<div id=\"subscription-content\">\n<p>\n  A total of 14\u00a0celebrities took part in a version of a Special Forces selection course, putting them through extreme mental and physical challenges.\n<\/p>\n<p>\n  But in the end, it was Dani Dyer, Gabby Allen and Emily Seebohm who won Celebrity SAS: Who Dares Wins 2026.\n<\/p>\n<p>\n  The female trio were revealed to have passed the gruelling selection process &#8211; which pitted British celebrities against stars from Australia &#8211; during the finale on the Channel 4 series on Monday.\n<\/p>\n<h2>\n  Who won Celebrity SAS: Who Dares Wins? 2026 champions<br \/>\n<\/h2>\n<p>\n  Love Island stars Dani and Gabby, as well as Australian Olympic swimming gold medallist Emily, all came through interrogation in a dramatic final episode that saw the last two male recruits &#8211; ex-England rugby star Ben Cohen and Australian former swimmer Mack Horton &#8211; decide to voluntarily withdraw under intense psychological pressure.\n<\/p>\n<p>\n  Delivering his final verdict, Chief Instructor Billy Billingham said: &#8220;Eight days ago you came from both sides of the world. 14 arrived. Three stand before us.\u00a0Just because you stand on the finish line doesn\u2019t mean you\u2019ve passed this course.&#8221;\n<\/p>\n<p>\n  He continued: &#8220;It\u2019s a rare moment to say &#8211;\u00a0congratulations\u00a0to all three of you. You\u2019ve passed this course.&#8221;\n<\/p>\n<p>\n  Dani explained that passing the course proved to her that she is &#8220;a lot stronger&#8221; than she thought.\n<\/p>\n<hr\/>\n<h2>\n  Top 10 most watched Netflix shows of all time<br \/>\n<\/h2>\n<hr\/>\n<p>\n  The 29-year-old star commented: &#8220;Every single moment was horrendous. But to hear that I\u2019d passed &#8211; it\u2019s the best feeling in the world. If I can do this, I can do anything.\n<\/p>\n<p>\n  &#8220;I definitely am a lot stronger than what I think I am\u2026I can\u2019t believe I\u2019ve actually been able to do it. I\u2019m really proud of myself.&#8221;\n<\/p>\n<p>\n  A stunned Gabby, 33, was delighted that the women came out on top.\n<\/p>\n<p>\n  The TV personality added: &#8220;Standing there with two women at the end meant everything to me. My whole brand is about empowering women from every walk of life. Men are strong, but women show time and time again that we can do just as much. We were lifting the same weights, trying just as hard. I wouldn\u2019t have wanted to be there at the end with anyone else. We built a bond you could never replicate.&#8221;\n<\/p>\n<hr\/>\n<p>\n  <iframe frameborder=\"0\" class=\"exco-embed\" marginwidth=\"0\" marginheight=\"0\" style=\"width: 100%\" src=\"https:\/\/www.worcesternews.co.uk\/excoiframe\/?id=253338\" id=\"exco-iframe-253338\"><\/iframe><\/p>\n<hr\/>\n<p>\n  She added: &#8220;I wanted to leave knowing I\u2019d given absolutely everything that I could, that I&#8217;d thrown myself into everything and made myself proud and my dad proud.\u00a0 That\u2019s all that mattered to me.&#8221;\n<\/p>\n<p>\n  Meanwhile, Emily initially suspected that the victorious trio had been picked out for being the weakest recruits.\n<\/p>\n<hr\/>\n<p>\n  <strong>Recommended reading:<\/strong>\n<\/p>\n<hr\/>\n<p>\n  The 33-year-old swimmer said: &#8220;When we were unbagged and it was just the three of us standing there, I thought we\u2019d been picked out as the weak ones.\n<\/p>\n<p>\n  &#8220;I couldn\u2019t have been prouder of the girls. We spent the whole time lifting each other up and reminding ourselves how strong we were.&#8221;\n<\/p>\n<p>\n  They follow in the footsteps of Troy Deeney (former professional footballer), Michaella McCollum (ex-drug mule) and X Factor star Lucy Spraggan who also passed the course in the 2025 series.\n<\/p>\n<\/div>\n<p><script type = \"text\/javascript\">\n( function () {\n    window._sp_ = {\n        config: {\n            baseEndpoint: 'https:\/\/a02342.worcesternews.co.uk',\n            accountId: 52,\n            targetingParams:{\n                subscribed: false,\n                privacy: false\n            },\n            gdpr: { },\n            events: {\n                onMessageReady: function (message_type) {\n                    trackSPEvents('event76');\n                },\n                onMessageChoiceSelect: function (message_type, choice_id, choice_type_id) {\n                    console.log('message_type: ', message_type);\n                    console.log('choice_id: ', choice_id);\n                    console.log('choice_type_id: ', choice_type_id);\n                    if ('yes' === 'yes') {\n                        if (choice_type_id === 12) {\n                            trackSPEvents('event83'); \/\/Consent Banner Reject All\n                            trackSPEvents('event82'); \/\/Journalism Message Shown\n                        }\n                        if (choice_type_id === 11) {\n                            trackSPEvents('event78');\n                        }\n                        if (choice_type_id === 9) {\n                            trackSPEvents('event77');\n                        }\n                    } else {\n                        \/\/ these are the second argument in non-gate\n                        if (choice_type_id === 12) {\n                            trackSPEvents('event77');\n                        }\n                        if (choice_type_id === 11) {\n                            trackSPEvents('event78');\n                        }\n                        if (choice_type_id === 13) {\n\t\t                    trackSPEvents('event83');\n                        }\n                    }\n                },\n                onPrivacyManagerActionStatus: function(message_type, status, actionType) {\n                    console.log('message_type: ' + message_type);\n                    console.log('status: ' + status);\n                    console.log('actionType: ' + actionType);\n                    if ('yes' === 'yes') {\n                        if (actionType === 11) {\n                            trackSPEvents('event79'); \/\/Privacy Manager Accept\n                        }\n                        if (actionType === 9) {\n                            trackSPEvents('event68'); \/\/Privacy Manager Redirect\n                        }\n                        if (actionType === 1) {\n                            trackSPEvents('event75'); \/\/Forced tcf String Change\n                        }\n                    } else {\n                    \/\/ these are the second argument in non-gate\n                        if (actionType === 13) {\n                            trackSPEvents('event81'); \/\/Privacy Manager Reject\n                        }\n                        if (actionType === 11) {\n                            trackSPEvents('event79'); \/\/Privacy Manager Accept\n                        }\n                        if (actionType === 1) {\n                            trackSPEvents('event80'); \/\/Privacy Manager Save & Exit\n                        }\n                    }\n                },\n                onPMCancel: function (message_type) {\n                    console.log('onPMCancel', message_type);\n                    trackSPEvents('event84'); \/\/Privacy Manager Back\n                },\n            }\n        }\n    }\n    __tcfapi('addEventListener', 2, function (tcData, success) {\n        console.log('SP: Event Listen:', tcData, success);\n        if (success && tcData.eventStatus === 'useractioncomplete') {\n            setTcfCookie(tcData.purpose.consents, tcData.purpose.legitimateInterests);\n            var csnt=\"none\";\n            if ($.cookie('_sp_enable_dfp_personalized_ads') === 'true') {\n                csnt=\"yes\";\n            } else if ($.cookie('_sp_enable_dfp_personalized_ads') === 'false') {\n                csnt=\"no\";\n            }\n            googletag.cmd.push(function() {\n                \/\/ console.log('DFP: Cookie check - setting dfpcsnt to ', csnt);\n                googletag.pubads().setTargeting('dfpcsnt', csnt);\n            });\n            \/\/ ready to start DFP\n            \/\/ console.log('PIANO: setting unrestricted via useractioncomplete');\n            \/\/ runPiano('unrestricted');\n            startAdvertising(tcData.listenerId);\n            var e = new Event('launch:cmp:choice-made');\n            window.dispatchEvent(e);\n        } else if (success && tcData.eventStatus === 'tcloaded') {\n            \/\/ tcloaded means a valid TCF v2.0 string is available\n            \/\/ console.log('PIANO: setting unrestricted via tcloaded');\n            \/\/ runPiano('unrestricted');\n            if (tcData.gdprApplies === false) {\n                $.cookie('_sp_enable_dfp_personalized_ads', 'true', {domain: '.worcesternews.co.uk', path: \"https:\/\/www.worcesternews.co.uk\/\", expires: 100});\n            }\n            startAdvertising(tcData.listenerId);\n        } else if (success && tcData.eventStatus === 'useractionnotcomplete') {\n            \/\/ do nothing - this means the user has not made a choice yet\n        } else if (success && tcData.eventStatus === 'cmpuishown') {\n            \/\/ do nothing - this means the CMP UI has been shown\n        } else if (!success) {\n            \/\/ $.cookie('_sp_enable_dfp_personalized_ads', 'true', {domain: '.worcesternews.co.uk', path: \"https:\/\/www.worcesternews.co.uk\/\", expires: 100});\n            \/\/ startAdvertising();\n        } else {\n            \/\/ console.log('PIANO: setting restricted');\n            \/\/ runPiano('restricted');\n        }\n    });\n    $(document).on('click', '.gdpr-option-v2', function (e) {\n        e.preventDefault();\n        sendEvent76 = false;\n        var id = $(this).data('v2-id');\n        if ($(this).data('is-gate') === 'yes') {\n            trackSPEvents('event87');\n            _sp_.gdpr.loadPrivacyManagerModal(id);\n        } else {\n            trackSPEvents('event77');\n            _sp_.gdpr.loadPrivacyManagerModal(id);\n        }\n    });\n    function getTcfData() {\n        __tcfapi('addEventListener', 2, function(data, success) {\n            if (!data.purpose || !data.purpose.consents || !data.purpose.legitimateInterests) {\n                \/\/ console.log('DFP: No TCF data found, not setting cookies');\n                return;\n            }\n            setTcfCookie(data.purpose.consents, data.purpose.legitimateInterests);\n        }, [755]);\n    }\n    getTcfData();\n    function setTcfCookie(data, legitimateInterests) {\n        var consents = [];\n        $.each(data, function(id, consent)  {\n            var c = (consent === true) ? 'yes' : 'no';\n            consents.push(c)\n        });\n        \/\/ console.log('DFP: consents length: ', consents.length);\n        if (consents.length !== 10) {\n            \/\/ consents = consents.fill('no', consents.length, 10);\n            for (var i = consents.length; i < 10; i++) {\n                consents[i] = 'no';\n            }\n        }\n        \/\/ console.log('DFP: Found consents to store in cookie:', consents);\n        $.cookie('prev-tcf-v2', consents.join(','), {domain: '.worcesternews.co.uk', path: \"https:\/\/www.worcesternews.co.uk\/\", expires: 100});\n\n        var consentEvent4 = 'none';\n        if (typeof data[4] !== 'undefined') {\n            consentEvent4 = data[4] ? 'true' : 'false';\n        }\n        $.cookie('_sp_enable_dfp_personalized_ads', consentEvent4, {domain: '.worcesternews.co.uk', path: \"https:\/\/www.worcesternews.co.uk\/\", expires: 100});\n\n        var legitInterest=\"none\";\n        if (legitimateInterests &#038;&#038; typeof legitimateInterests[2] !== 'undefined') {\n            legitInterest = legitimateInterests[2] ? 'true' : 'false';\n        }\n\n        $.cookie('_sp_legitimate_interests', legitInterest , {domain: '.worcesternews.co.uk', path: \"https:\/\/www.worcesternews.co.uk\/\", expires: 100});\n    }\n\n    var sendEvent76 = true;\n\n    function trackSPEvents(events) {\n        if (events === 'event76' &#038;&#038; !sendEvent76) {\n            return;\n        } else if (events === 'event76') {\n            sendEvent76 = false;\n        }\n\n        if (typeof window.s !== 'object') {\n            \/\/ console.log('DFP: No window.s object found, trying again in 1 second');\n            window.setTimeout(function () { trackSPEvents(events)} , 1000);\n            return;\n        }\n\n        \/\/ console.log(\"ADB: Tracking %s\", events);\n        \/\/ Re-create the Omniture object so the data can be tracked.\n        var s = window.s;\n\n        if (events.indexOf('event70') !== -1) {\n            \/\/ console.log('DFP: Events passed, added evars');\n            s.eVar35 = 'enabled';\n            s.prop35 = 'enabled';\n        }\n\n        s.events = events;\n        s.linkTrackEvents = events;\n        s.linkTrackVars = \"eVar2,eVar3,eVar4,eVar5,eVar6,evar7,evar8,evar9,eVar16,eVar19,eVar26,eVar35,eVar43,eVar67,prop35\";\n        s.suppressPageView = true;\n        s.tl(true,'o','Ad Block');\n    }\n\n    function startAdvertising(id)\n    {\n        if (typeof window.doNotAdvertise !== 'undefined' &#038;&#038; window.doNotAdvertise === true) {\n            return;\n        }\n\n        \/\/ console.log(\"DFP: Is the page fully loaded?\", window.googleReady);\n        if (window.googleReady !== true) {\n            window.setTimeout(function () {\n                \/\/ console.log('DFP: Google not fully loaded yet, pausing quarter of a second before trying again');\n                startAdvertising(id);\n            }, 250);\n            return;\n        }\n\n        \/\/ Ensure that we never run this code twice\n        if (window.advertisingStart === true) {\n            return;\n        }\n        \/\/ console.log('DFP: Running advertisement');\n        window.advertisingStart = true;\n\n        var googletag = window.googletag;\n        \/\/ init google objects and array\n        (function() {\n            var gads = document.createElement('script');\n            gads.async = true;\n            gads.type=\"text\/javascript\";\n            gads.src=\"https:\/\/securepubads.g.doubleclick.net\/tag\/js\/gpt.js\";\n            var node = document.getElementsByTagName('script')[0];\n            node.parentNode.insertBefore(gads, node);\n        })();\n\n        \/\/ launch the exco slideshow player\n        launchExcoSlideshow();\n\n        \/\/ load facebook etc\n        loadSocials();\n\n        \/\/ Checking our decision to use headerbidding (shorterned as prebid) is correct\n        \/\/ via system logic, and that we have the simplified consent to do so\n        if (usePrebid &#038;&#038; $.cookie('_sp_enable_dfp_personalized_ads') === 'true') {\n            var e = new Event('launch:sourcepoint:consentaccepted');\n            window.dispatchEvent(e);\n\n            \/\/ AP code initialisation\n            \/\/ the script is loaded via launch, once we have detected a consent signal via the datalayer.\n            fetchAp();\n\n            var site=\"desktop\";\n            var _site=\"desktop\";\n\n            \/\/ load IAS scripts and set up vars\n            (function() {\n                var ias = document.createElement('script');\n                ias.async = true;\n                ias.type=\"text\/javascript\";\n                ias.src=\"https:\/\/cdn.adsafeprotected.com\/iasPET.1.js\";\n                var node = document.getElementsByTagName('script')[0];\n                node.parentNode.insertBefore(ias, node);\n            })();\n\n            \/\/ load the prebid script\n            (function() {\n                var pbs = document.createElement('script');\n                pbs.async = true;\n                pbs.type=\"text\/javascript\";\n                pbs.src=\"https:\/\/micro.rubiconproject.com\/prebid\/dynamic\/11022.js?group=newsquest\";\n                var node = document.getElementsByTagName('script')[0];\n                node.parentNode.insertBefore(pbs, node);\n            })();\n\n            \/\/ tell google to actually get the bids from all relevant vendors when loaded\n            googletag.cmd.push(function () {\n                fetchHeaderBids();\n            });\n        }\n\n        \/\/ Outbrain\n        if (\n            window.data_layer.user.advertising_experience !== 'Ad-Free' &#038;&#038;\n            window.data_layer.config.disable_outbrain !== 'yes'\n        ) {\n            var ob = document.createElement('script');\n            ob.async = true;\n            ob.type=\"text\/javascript\";\n            ob.src=\"https:\/\/widgets.outbrain.com\/outbrain.js\";\n            var node = document.getElementsByTagName('script')[0];\n            node.parentNode.insertBefore(ob, node);\n        }\n\n        \/\/ remove the listener\n        if (id !== null) {\n            window.__tcfapi('removeEventListener', 2, function (success) { }, id);\n        }\n    }\n\n    \/**\n     * Wait until we have advertising consent to show this advertising\n     * based replacement for the single image on our article pages\n     * This logic is based on excoSlidshowPlayerID that only appears on the page\n     * if a user is NOT a subscriber (including privacy plus) and the page has the\n     * correct information to show it (doesn't have a video, not in sport etc)\n     *\/\n    function launchExcoSlideshow() {\n        const slideShowPlayerId = window.excoSlideshowPlayerId;\n        \/\/ if we do not have a player id, we do not need to do anything\n        if (!slideShowPlayerId) {\n            return;\n        }\n\n        \/\/ this is exco's supplied code, modified for our use\n        (function (d, s, n) {\n            fjs = d.getElementsByTagName(s)[0];\n            js = d.createElement(s);\n            js.className = n;\n            js.src=\"\/\/player.ex.co\/player\/\" + slideShowPlayerId;\n            js.setAttribute('programmatic', 'true');\n\t        js.onload = function () {\n                const playerApi = ExCoPlayer.connect(slideShowPlayerId);\n                playerApi.init({});\n\n                playerApi.on('player-load', function(data) {\n                    $('.mar-article-image').remove();\n                    if (window.screen.width > 800) {\n                        $('.article-hero').attr('style', 'order: 1');\n                    }\n                    window.hide_overlay_for_exco = true;\n                });\n            };\n            fjs.parentNode.insertBefore(js, fjs);\n        }(document, 'script', 'exco-player'));\n    }\n    function loadSocials()\n    {\n        const socials = [\n            'https:\/\/platform.twitter.com\/widgets.js',\n            'https:\/\/connect.facebook.net\/en_US\/all.js#xfbml=1',\n            'https:\/\/www.tiktok.com\/embed.js',\n        ];\n        socials.forEach((social) => {\n            var script = document.createElement('script');\n            script.src = social;\n            script.async = true;\n            document.getElementsByTagName('head')[0].appendChild(script);\n        });\n    }\n})();\n<\/script><\/p>\n<p><em> \u2018 The preceding article may include information circulated by third parties \u2019 <\/em><\/p>\n<p><em> \u2018 Some details of this article were extracted from the following source www.worcesternews.co.uk \u2019 <\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>A total of 14\u00a0celebrities took part in a version of a Special Forces selection course, putting them through extreme mental and physical challenges. But in the end, it was Dani Dyer, Gabby Allen and Emily Seebohm who won Celebrity SAS: Who Dares Wins 2026. The female trio were revealed to have passed the gruelling selection [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":2253293,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_jetpack_memberships_contains_paid_content":false,"jnews-multi-image_gallery":[],"jnews_single_post":[],"jnews_primary_category":[],"jnews_social_meta":[],"footnotes":""},"categories":[25173],"tags":[],"class_list":["post-2253292","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-artists"],"jetpack_featured_media_url":"https:\/\/celebrity.land\/en\/wp-content\/uploads\/2026\/01\/Who-won-Celebrity-SAS-Who-Dares-Wins-3-stars-pass.jpg","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/celebrity.land\/en\/wp-json\/wp\/v2\/posts\/2253292","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/celebrity.land\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/celebrity.land\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/celebrity.land\/en\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/celebrity.land\/en\/wp-json\/wp\/v2\/comments?post=2253292"}],"version-history":[{"count":1,"href":"https:\/\/celebrity.land\/en\/wp-json\/wp\/v2\/posts\/2253292\/revisions"}],"predecessor-version":[{"id":2253294,"href":"https:\/\/celebrity.land\/en\/wp-json\/wp\/v2\/posts\/2253292\/revisions\/2253294"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/celebrity.land\/en\/wp-json\/wp\/v2\/media\/2253293"}],"wp:attachment":[{"href":"https:\/\/celebrity.land\/en\/wp-json\/wp\/v2\/media?parent=2253292"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/celebrity.land\/en\/wp-json\/wp\/v2\/categories?post=2253292"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/celebrity.land\/en\/wp-json\/wp\/v2\/tags?post=2253292"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}