Close Menu
    Facebook X (Twitter) Instagram
    • Home
    • Contact Us
    • About Us
    • Privacy Policy
    • Terms Of Service
    • Advertisement
    Monday, July 6
    Facebook X (Twitter) Instagram Pinterest Vimeo
    ABS Africa TV
    • Breaking News
    • Trending
    • Africa News
    • World News
    • Features
    • Technology
    • Sports
    • Politics
    • More
      • Culture
      • Lifestyle
      • Travel
      • Business
      • Environment
      • Legal
      • Health
      • Cameroon
      • Ambazonia
      • AfroSingles
      • Environ/Climate
      • Editorial
      • The Leak Magazine
    • Donate
    Subscription
    ABS Africa TV
    Home»Breaking News»Morocco continue historic rise with record-breaking World Cup victory against Canada
    Breaking News

    Morocco continue historic rise with record-breaking World Cup victory against Canada

    Nouman mBy Nouman mJuly 4, 2026No Comments12 Mins Read
    Facebook Twitter Pinterest LinkedIn Tumblr Email
    Morocco continue historic rise with record-breaking World Cup victory against Canada
    Share
    Facebook Twitter LinkedIn Pinterest Email
    Post Views: 22

    Morocco continue historic rise with record-breaking World Cup victory against Canada

    Morocco continue historic rise with record-breaking World Cup victory against Canada

    Morocco vs Canada in action. (FIFA)

    Read this story aloud

    Listen to the clean text version of this article

    Ready
    7 min listen
    Audio reading is not supported on this browser.

    With Egypt also through to the Round of 16, Morocco became the first of Africa’s two remaining representatives to secure a quarter-final berth and move within one victory of another appearance in the last four

    Morocco’s remarkable World Cup journey shows no sign of slowing down. The Atlas Lions produced another historic performance on Saturday night, defeating co-hosts Canada 3-0 in Houston to become the first nation to book a place in the quarter-finals of the 2026 FIFA World Cup.
    More significantly, they became the first African country to reach the last eight in consecutive men’s World Cups, building on their groundbreaking run to the semi-finals in Qatar four years ago.
    The victory also strengthened Morocco’s status as Africa’s most successful nation in World Cup knockout football. They now account for four of the continent’s eight knockout-stage victories in the tournament’s history, equal to every other African nation combined. Cameroon, Senegal, Ghana and Egypt have one knockout win each, while Morocco now stands alone at the summit.

    More To Read

    • What the World Cup hydration breaks reveal about who governs men’s football
    • Messi is old, short and slow: How is he still dominating at the World Cup?
    • Colombia beats Ghana to complete World Cup round of 16 lineup
    • Egypt end 92-year wait to reach World Cup last 16
    • Messi makes history as Argentina survive Cape Verde’s unforgettable World Cup fight
    • Captain Riyad Mahrez announces retirement after Algeria World Cup exit

    With Egypt also through to the Round of 16, Morocco became the first of Africa’s two remaining representatives to secure a quarter-final berth and move within one victory of another appearance in the last four.
    Despite the emphatic scoreline, it was Canada who began with greater intensity.
    The co-hosts pressed aggressively from the opening whistle and should have taken the lead inside the first 11 minutes, only for Morocco goalkeeper Bono to produce two outstanding one-on-one saves to deny Jonathan David and Tani Oluwaseyi.

    Latest Stories

    • Kenya reaffirms ties with Rwanda as it marks Liberation Day celebrations
    • Serena Williams withdraws from Wimbledon doubles after knee injury, ending Venus reunion plans
    • Report records 83 harassment incidents against Christians in Israel over three months
    • Clean mobility gains ground in trucks and buses, but fossil fuels still dominate at 94 per cent – report

    Canada’s relentless pressing unsettled Walid Regragui’s side, who struggled to establish any rhythm during a fractious first half dominated by physical challenges rather than attacking quality.
    The opening 45 minutes entered the record books for unusual reasons. Canada committed 15 fouls before the interval, the highest first-half total in a World Cup match since Chile, managed by Marcelo Bielsa, recorded 16 against Spain in 2010.
    Remarkably, the half also featured more yellow cards than shots, with referee Michael Oliver issuing six cautions while the two teams combined for just five attempts on goal, the first time that has happened in a World Cup match since detailed records began in 1966.
    Morocco weathered the early storm and struck decisively five minutes after the restart.
    Achraf Hakimi’s intelligent cut-back from a cleverly worked free-kick found Azzedine Ounahi on the edge of the area, and the Girona midfielder calmly swept his finish beyond Maxime Crépeau to hand the Atlas Lions the breakthrough.
    Azzedine Ounahi, the brace goalscorer for Morocco. (FIFA)
    The goal was another landmark moment in Ounahi’s career, making him the first Girona player ever to score at a FIFA World Cup.
    Canada continued to enjoy spells of possession and repeatedly entered the Moroccan penalty area, finishing the match with 30 touches inside the box. Yet one of the tournament’s meanest defences once again stood firm, restricting Jesse Marsch’s side to just three shots on target, with only one arriving after the opening 11 minutes.
    As Canada pushed forward in search of an equaliser, Morocco punished the spaces left behind.
    Eight minutes from time, Ounahi completed his brace after a devastating counter-attack, becoming the first Moroccan player to score twice in a World Cup Round of 16 match. His clinical display capped another outstanding evening for a side that needed only five shots all game to score three goals.
    That remarkable efficiency earned another place in the history books, with Morocco converting 60 per cent of their attempts, the best shot conversion rate ever recorded in a World Cup knockout match since statistics began in 1966.
    Substitute Soufiane Rahimi added further gloss in stoppage time, sliding the ball beneath Crépeau after earlier striking the crossbar with a looping header to complete a convincing victory.
    While Ounahi grabbed the headlines with his two goals, Brahim Díaz quietly continued his outstanding tournament.
    Morocco players celebrate after a goal. (FIFA)
    The playmaker registered another assist to take his tally to four in five matches. He also became only the second African footballer to record three assists in a single FIFA World Cup, matching the feat achieved by fellow Moroccan Tahar El-Khalej in 1998.
    For Canada, the defeat brought an end to their finest-ever men’s World Cup campaign.
    The co-hosts had already celebrated several historic milestones during the tournament, recording their first World Cup point, first victory, first qualification for the knockout stage and first knockout win. Yet their dream ended against a Moroccan side whose experience and defensive discipline ultimately proved decisive.
    The result also carried another unwanted distinction, as Canada became the first of the three 2026 co-host nations to be eliminated from the tournament.
    Their campaign was further hampered by the limited involvement of captain Alphonso Davies, who remained an unused substitute as he continued to manage a hamstring injury after returning briefly in the previous round.
    Morocco, meanwhile, advanced despite concerns over midfielder Ismael Saibari, who was forced off injured during the first half.
    It was far from the Atlas Lions’ most fluent performance, but once again they demonstrated the qualities that have made them one of the tournament’s most resilient sides organisation, defensive solidity and ruthless finishing.
    The victory also continued Morocco’s dominance over Canada on the World Cup stage. Having defeated the Canadians during the group stage in Qatar in 2022, the Atlas Lions have now won both World Cup meetings between the nations and remain unbeaten across all five encounters.
    Their reward is a quarter-final showdown against either France or Paraguay in Boston on 9 July.
    Having become the first African nation to reach the semi-finals in 2022, Morocco now stands just one victory away from returning to the last four and adding another extraordinary chapter to what is already the greatest World Cup story ever written by an African nation.

    Other Topics To Read

    • 2026 FIFA World Cup

    Top Stories Today

    • Weekly new Ebola cases reach highest level since outbreak began: WHO
    • Kenya reaffirms ties with Rwanda as it marks Liberation Day celebrations
    • Serena Williams withdraws from Wimbledon doubles after knee injury, ending Venus reunion plans
    • Report records 83 harassment incidents against Christians in Israel over three months
    • Clean mobility gains ground in trucks and buses, but fossil fuels still dominate at 94 per cent – report
    • Over 1,000 Sudanese return home from Egypt under ongoing repatriation programme

    `;
    }

    return “;
    }

    function commentActionsMarkup(comment, canComment) {
    const likeLabel = comment.liked_by_me ? ‘Liked’ : ‘Like’;
    const likeCount = Number(comment.like_count || 0) > 0
    ? “
    : ”;

    const likeButton = canComment && comment.status === ‘approved’
    ? “
    : “;

    const replyButton = canComment && comment.status === ‘approved’
    ? “
    : ”;

    return `

    `;
    }

    function commentMarkup(comment, canComment, isReply = false) {
    const pendingBadge = comment.status && comment.status !== ‘approved’
    ? “
    : ”;

    const edited = comment.is_edited
    ? “
    : ”;

    const repliesHtml = Array.isArray(comment.replies) && comment.replies.length
    ? `

    `
    : “;

    return `

    `;
    }

    function replyFormMarkup(commentId) {
    return `

    `;
    }

    function setNotice(widget, message, type = ‘info’) {
    const notice = widget.querySelector(‘[data-role=”notice”]’);
    if (!notice) return;

    if (!message) {
    notice.hidden = true;
    notice.textContent = ”;
    notice.classList.remove(‘is-error’);
    return;
    }

    notice.hidden = false;
    notice.textContent = message;
    notice.classList.toggle(‘is-error’, type === ‘error’);
    }

    function setCount(widget, total) {
    const count = widget.querySelector(‘[data-role=”count”]’);
    if (!count) return;

    const num = Number(total || 0);
    count.textContent = num === 1 ? ‘1 comment’ : `${num} comments`;
    }

    function openReplyBox(widget, commentId) {
    widget.querySelectorAll(‘[data-role=”reply-box”]’).forEach(box => {
    box.hidden = true;
    box.innerHTML = ”;
    });

    const targetItem = widget.querySelector(`.ev-comments__item[data-comment-id=”${commentId}”]`);
    if (!targetItem) return;

    const replyBox = targetItem.querySelector(‘[data-role=”reply-box”]’);
    if (!replyBox) return;

    replyBox.hidden = false;
    replyBox.innerHTML = replyFormMarkup(commentId);

    const textarea = replyBox.querySelector(‘textarea’);
    if (textarea) textarea.focus();
    }

    function closeReplyBox(container) {
    if (!container) return;
    container.hidden = true;
    container.innerHTML = ”;
    }

    async function initCommentsWidget(widget) {
    const state = {
    articleId: Number(widget.dataset.articleId),
    loadUrl: widget.dataset.loadUrl,
    storeUrl: widget.dataset.storeUrl,
    commentsBaseUrl: widget.dataset.commentsBaseUrl,
    canComment: widget.dataset.canComment === ‘1’,
    page: 1,
    perPage: 10,
    sort: ‘newest’,
    total: 0,
    hasMore: false,
    busy: false
    };

    const list = widget.querySelector(‘[data-role=”list”]’);
    const loading = widget.querySelector(‘[data-role=”loading”]’);
    const empty = widget.querySelector(‘[data-role=”empty”]’);
    const loadMoreBtn = widget.querySelector(‘[data-role=”load-more”]’);
    const sortSelect = widget.querySelector(‘[data-role=”sort”]’);
    const composerForm = widget.querySelector(‘[data-role=”composer-form”]’);

    async function loadComments(reset = true) {
    if (state.busy) return;

    state.busy = true;
    setNotice(widget, ”);
    loading.hidden = false;

    if (reset) {
    state.page = 1;
    list.innerHTML = ”;
    empty.hidden = true;
    }

    try {
    const url = new URL(state.loadUrl, window.location.origin);
    url.searchParams.set(‘page’, state.page);
    url.searchParams.set(‘per_page’, state.perPage);
    url.searchParams.set(‘sort’, state.sort);

    const response = await requestJson(url.toString(), {
    method: ‘GET’,
    headers: {
    ‘Accept’: ‘application/json’,
    ‘X-Requested-With’: ‘XMLHttpRequest’
    }
    });

    const items = Array.isArray(response.data) ? response.data : [];
    const meta = response.meta || {};

    state.total = Number(meta.total || 0);
    state.hasMore = !!meta.has_more;

    setCount(widget, state.total);

    if (reset) {
    list.innerHTML = ”;
    }

    if (!items.length && reset) {
    empty.hidden = false;
    } else {
    empty.hidden = true;
    list.insertAdjacentHTML(
    ‘beforeend’,
    items.map(item => commentMarkup(item, state.canComment, false)).join(”)
    );
    }

    loadMoreBtn.hidden = !state.hasMore;
    } catch (error) {
    if (!list.children.length) {
    empty.hidden = false;
    empty.textContent = ‘Unable to load comments right now.’;
    }
    setNotice(widget, error.message || ‘Unable to load comments.’, ‘error’);
    } finally {
    loading.hidden = true;
    state.busy = false;
    }
    }

    async function submitTopLevelComment(form) {
    const textarea = form.querySelector(‘textarea[name=”content”]’);
    const button = form.querySelector(‘[data-role=”submit-comment”]’);

    if (!textarea) return;

    const content = textarea.value.trim();
    if (!content) return;

    const originalText = button ? button.textContent : ”;

    try {
    if (button) {
    button.disabled = true;
    button.textContent = ‘Posting…’;
    }

    const response = await requestJson(state.storeUrl, {
    method: ‘POST’,
    headers: buildJsonHeaders(),
    body: JSON.stringify({
    article_id: state.articleId,
    content: content,
    source_url: window.location.href
    })
    });

    textarea.value = ”;

    if (response?.data) {
    list.insertAdjacentHTML(
    ‘afterbegin’,
    commentMarkup(response.data, state.canComment, false)
    );
    empty.hidden = true;

    if ((response.data.status || ”) === ‘approved’) {
    state.total += 1;
    setCount(widget, state.total);
    }
    }

    setNotice(widget, response.message || ‘Comment posted successfully.’);
    } catch (error) {
    setNotice(widget, error.message || ‘Unable to post comment.’, ‘error’);
    } finally {
    if (button) {
    button.disabled = false;
    button.textContent = originalText || ‘Post comment’;
    }
    }
    }

    async function submitReply(form) {
    const commentId = Number(form.dataset.commentId || 0);
    const textarea = form.querySelector(‘textarea[name=”content”]’);
    const button = form.querySelector(‘.ev-comments__reply-submit’);

    if (!commentId || !textarea) return;

    const content = textarea.value.trim();
    if (!content) return;

    const originalText = button ? button.textContent : ”;

    try {
    if (button) {
    button.disabled = true;
    button.textContent = ‘Posting…’;
    }

    const response = await requestJson(`${state.commentsBaseUrl}/${commentId}/reply`, {
    method: ‘POST’,
    headers: buildJsonHeaders(),
    body: JSON.stringify({
    article_id: state.articleId,
    content: content,
    source_url: window.location.href
    })
    });

    if (response?.data) {
    const parentItem = widget.querySelector(`.ev-comments__item[data-comment-id=”${commentId}”]`);
    if (parentItem) {
    const repliesWrap = parentItem.querySelector(‘.ev-comments__replies’);
    if (repliesWrap) {
    repliesWrap.insertAdjacentHTML(
    ‘beforeend’,
    commentMarkup(response.data, state.canComment, true)
    );
    }
    }
    }

    closeReplyBox(form.closest(‘[data-role=”reply-box”]’));
    setNotice(widget, response.message || ‘Reply posted successfully.’);
    } catch (error) {
    setNotice(widget, error.message || ‘Unable to post reply.’, ‘error’);
    } finally {
    if (button) {
    button.disabled = false;
    button.textContent = originalText || ‘Post reply’;
    }
    }
    }

    async function toggleLike(button) {
    const commentId = Number(button.dataset.commentId || 0);
    if (!commentId) return;

    const originalHtml = button.innerHTML;

    try {
    button.disabled = true;
    button.innerHTML = ‘Working…’;

    const response = await requestJson(`${state.commentsBaseUrl}/${commentId}/like`, {
    method: ‘POST’,
    headers: buildJsonHeaders(),
    body: JSON.stringify({})
    });

    const liked = !!response?.data?.liked;
    const likeCount = Number(response?.data?.like_count || 0);

    button.classList.toggle(‘is-liked’, liked);
    button.innerHTML = `${liked ? ‘Liked’ : ‘Like’} ${likeCount > 0 ? “ : ”}`;
    } catch (error) {
    button.innerHTML = originalHtml;
    setNotice(widget, error.message || ‘Unable to update like.’, ‘error’);
    } finally {
    button.disabled = false;
    }
    }

    if (composerForm) {
    composerForm.addEventListener(‘submit’, function (e) {
    e.preventDefault();
    submitTopLevelComment(composerForm);
    });
    }

    if (sortSelect) {
    sortSelect.addEventListener(‘change’, function () {
    state.sort = this.value || ‘newest’;
    loadComments(true);
    });
    }

    if (loadMoreBtn) {
    loadMoreBtn.addEventListener(‘click’, function () {
    if (state.busy || !state.hasMore) return;
    state.page += 1;
    loadComments(false);
    });
    }

    widget.addEventListener(‘click’, function (e) {
    const likeBtn = e.target.closest(‘[data-action=”toggle-like”]’);
    if (likeBtn) {
    e.preventDefault();
    toggleLike(likeBtn);
    return;
    }

    const replyBtn = e.target.closest(‘[data-action=”toggle-reply”]’);
    if (replyBtn) {
    e.preventDefault();
    openReplyBox(widget, Number(replyBtn.dataset.commentId || 0));
    return;
    }

    const cancelReplyBtn = e.target.closest(‘[data-action=”cancel-reply”]’);
    if (cancelReplyBtn) {
    e.preventDefault();
    closeReplyBox(cancelReplyBtn.closest(‘[data-role=”reply-box”]’));
    }
    });

    widget.addEventListener(‘submit’, function (e) {
    const replyForm = e.target.closest(‘.ev-comments__reply-form’);
    if (replyForm) {
    e.preventDefault();
    submitReply(replyForm);
    }
    });

    loadComments(true);
    }

    document.addEventListener(‘DOMContentLoaded’, function () {
    document.querySelectorAll(‘.ev-comments’).forEach(initCommentsWidget);
    });
    })();

    Trending

    Serena Williams withdraws from Wimbledon doubles after knee injury, ending Venus reunion plansSports
    |Bashir Mbuthia
    |2 hours ago
    Government announces final repatriation flight for Kenyans in South AfricaNews
    |Rachael Mutabasi
    |16 hours ago
    Eight arrested in Marsabit over Sh1.2 million SIM swap fraudNorthern Kenya
    |Bashir Mbuthia
    |8 hours ago
    Senator Sifuna fails to secure interim relief as Tribunal declines to halt ODM ousterNews
    |Carolyne Kubwa
    |1 day ago
    Clean mobility gains ground in trucks and buses, but fossil fuels still dominate at 94 per cent - report
    Clean mobility gains ground in trucks and buses, but fossil fuels still dominate at 94 per cent – reportClimate Change
    |Alfred Onyango
    |2 hours ago
    Messi makes history as Argentina survive Cape Verde’s unforgettable World Cup fightNews
    |Erick Kariuki
    |17 hours ago
    Sudan’s people subject to ‘relentless’ drone strikes in El ObeidSudan
    |UN News
    |5 hours ago
    Somalia intelligence agency kills Al-Shabaab mortar unit leader in Basra operation
    Somalia intelligence agency kills Al-Shabaab mortar unit leader in Basra operationSomalia
    |Bashir Mbuthia
    |4 hours ago
    Sudanese army intensify offensive to retake strategic city of Kurmuk on Ethiopia border
    Sudanese army intensify offensive to retake strategic city of Kurmuk on Ethiopia borderRegional
    |Addis Standard
    |10 hours ago
    CS Mbadi defends government’s Safaricom share sale as lawful and transparentNews
    |Rachael Mutabasi
    |11 hours ago

    continue historic Morocco recordbreaking Rise
    Share. Facebook Twitter Pinterest LinkedIn Tumblr Email
    Nouman m
    • Website

    Related Posts

    2026 FIFA World Cup: Norway shocks Brazil to reach quarterfinals

    July 6, 2026

    Russia strikes leave historic Kyiv cathedral in flames

    July 6, 2026

    Why Morocco are World Cup contenders?

    July 6, 2026
    Leave A Reply Cancel Reply

    Search
    Latest Post

    Pope urges Europe to protect migrants in visit to Island Frontier

    July 6, 2026

    South African Court Allows Private Rhino Horn Exports

    July 6, 2026

    I left Google and spent a year traveling. 6 months on a Thai island led me to a career I never expected.

    July 6, 2026

    Ruto calls for production of affordable fertiliser in Africa

    July 6, 2026

    Legal experts in Lanka oppose changing judges retirement age

    July 6, 2026

    Subscribe to Updates

    Get the latest creative news from FooBar about art, design and business.

    • Facebook
    • Twitter
    • Pinterest
    • Instagram
    • YouTube
    • TikTok
    ABS TV and ABS Network News is a leading Pan-African 24/7 broadcasting network delivering nonstop news, talk shows, lifestyle programs, and digital media content worldwide through Satellite, Streaming Platforms, and Roku TV.
     
    Based in the United States, we connect Africa to the world while empowering creators, journalists, and brands through innovative media and broadcasting services.
    Facebook X (Twitter) Pinterest WhatsApp Instagram

    Our Picks

    Pope urges Europe to protect migrants in visit to Island Frontier

    South African Court Allows Private Rhino Horn Exports

    I left Google and spent a year traveling. 6 months on a Thai island led me to a career I never expected.

    Most Popular

    Ruto calls for production of affordable fertiliser in Africa

    Legal experts in Lanka oppose changing judges retirement age

    Woman jailed five years for sexually exploiting four girls

    © 2026 Copyright. All Rights Reserved by ABSAFRICATV
    • Privacy Policy
    • Terms of Services

    Type above and press Enter to search. Press Esc to cancel.

    We use cookies to ensure that we give you the best experience on our website. If you continue to use this site we will assume that you are happy with it.