diff --git a/components/events/event-card.js b/components/events/event-card.js
index 1a1ae38ab..5365a9791 100644
--- a/components/events/event-card.js
+++ b/components/events/event-card.js
@@ -18,6 +18,7 @@ const Card = styled(Flex)`
   border: 1px solid ${graySecondary};
   min-height: 120px;
   color: #8393a7;
+  text-align: left;
   & .eventPhoto {
     height: 120px;
     width: 100%;
@@ -75,39 +76,63 @@ const CardTitle = styled.h3`
 
 export default props => (
   <Card my={[3]} wrap>
-    <Flex align="streach" width={[1, 1, 1 / 4]}>
-      <img
-        className="eventPhoto"
-        src={`https://res.cloudinary.com/coderplex/image/fetch/w_200,h_150/${props.image}`}
-        srcSet={`https://res.cloudinary.com/coderplex/image/fetch/w_300,h_200/${
-          props.image
-        } 720w, https://res.cloudinary.com/coderplex/image/fetch/w_200,h_150/${props.image} 1024w`}
-      />
-    </Flex>
-    <Box className="eventDetails" width={[1, 1, 3 / 4]}>
+    {props.showImg && (
+      <Flex align="streach" width={[1, 1, 1 / 4]}>
+        <img
+          className="eventPhoto"
+          src={`https://res.cloudinary.com/coderplex/image/fetch/w_200,h_150/${props.image}`}
+          srcSet={`https://res.cloudinary.com/coderplex/image/fetch/w_300,h_200/${
+            props.image
+          } 720w, https://res.cloudinary.com/coderplex/image/fetch/w_200,h_150/${props.image} 1024w`}
+        />
+      </Flex>
+    )}
+    <Box className="eventDetails" width={props.showImg ? [1, 1, 3 / 4] : [1, 1, 1]}>
       <Flex className="eventDetails" column justify="space-between">
         <CardTitle inverted color="#222" px={[2]} py={[1]} m={0}>
           {truncateString(props.name, 64)}
         </CardTitle>
-        <Box fontSize={[12, 14, 16]} className="secondaryText" px={[2]} my={[1, 1, 0]}>
+        <Box fontSize={[12, 14, 16]} className="secondaryText" px={[2]} my={props.showImg ? [1, 1, 0] : [1, 1, 1]}>
           <LocationIcon className="icons" />
           <span>{truncateString(props.location, 55)}</span>
         </Box>
         <Box px={2} pb={[2, 1]}>
           <Flex wrap>
-            <Box fontSize={[12, 14, 16]} width={[1, 1, 0.38]} className="secondaryText" pr={1} mr={[0]} my={[1, 1, 0]}>
+            <Box
+              fontSize={[12, 14, 16]}
+              width={props.showImg ? [1, 1, 0.38] : [1, 1, 1 / 2]}
+              className="secondaryText"
+              pr={1}
+              mr={[0]}
+              my={props.showImg ? [1, 1, 0] : [1, 1, 1]}>
               <TimeIcon className="icons" />
               <span>{format(props.time, "ddd MMM Do 'YY, h:mm A")}</span>
             </Box>
-            <Box fontSize={[12, 14, 16]} width={[1, 1, 0.24]} className="secondaryText" pr={1} mx={[0]} my={[1, 1, 0]}>
+            <Box
+              fontSize={[12, 14, 16]}
+              width={props.showImg ? [1, 1, 0.24] : [1, 1, 1 / 2]}
+              className="secondaryText"
+              pr={1}
+              mx={[0]}
+              my={props.showImg ? [1, 1, 0] : [1, 1, 1]}>
               <AttendeesIcon className="icons" />
               <span>{props.tense === 'past' ? `${props.attendees} attended` : `${props.attendees} attending`}</span>
             </Box>
-            <Box fontSize={[12, 14, 16]} width={[1, 1, 0.21]} className="secondaryText" pr={1} mx={[0]} my={[1, 1, 0]}>
+            <Box
+              fontSize={[12, 14, 16]}
+              width={props.showImg ? [1, 1, 0.21] : [1, 1, 1 / 2]}
+              className="secondaryText"
+              pr={1}
+              mx={[0]}
+              my={props.showImg ? [1, 1, 0] : [1, 1, 1]}>
               {props.online ? <StreamIcon className="icons" /> : <TicketIcon className="icons" />}
               <span>{props.online ? 'Free session' : 'Free entry'}</span>
             </Box>
-            <Box fontSize={[12, 14, 16]} width={[1, 1, 0.17]} mt={[1, 1, 0]} className="rsvp">
+            <Box
+              fontSize={[12, 14, 16]}
+              width={props.showImg ? [1, 1, 0.17] : [1, 1, 1 / 2]}
+              mt={props.showImg ? [1, 1, 0] : [1, 1, 1]}
+              className="rsvp">
               <Button href={props.link} inverted medium>
                 {props.tense === 'past' ? 'View' : 'RSVP'}
               </Button>
diff --git a/pages/events.js b/pages/events.js
index b92ad9438..eadae11bb 100644
--- a/pages/events.js
+++ b/pages/events.js
@@ -98,6 +98,7 @@ export default class Events extends React.Component {
             : event.featured_photo ? event.featured_photo.photo_link : imagePlaceholderURL;
           return (
             <EventCard
+              showImg
               key={event.id}
               image={imageSrc}
               name={event.name}
diff --git a/pages/index.js b/pages/index.js
index 71728fe13..95a4d878e 100644
--- a/pages/index.js
+++ b/pages/index.js
@@ -9,7 +9,17 @@ import Hide, { Container, Button, Title, SubTitle, breakpoints } from '../utils/
 import { listOfSubjects } from '../utils/mock-data';
 import Layout from '../components/common/layout';
 import SubjectCard from '../components/learn/subject-card';
-import { heroPatternURL, heroBannerURL, spaceCoverURL, eventsCoverURL } from '../utils/urls';
+import EventCard from '../components/events/event-card';
+
+import {
+  baseEventsURL,
+  indexPageEventURL,
+  heroPatternURL,
+  heroBannerURL,
+  spaceCoverURL,
+  eventsCoverURL,
+  imagePlaceholderURL,
+} from '../utils/urls';
 
 const HeroSection = styled.section`
   ${space};
@@ -72,6 +82,7 @@ const EventsSection = styled.section`
   color: #fff;
   position: relative;
   text-align: left;
+  padding-bottom: 30px;
   & img {
     width: 100%;
     min-height: 427px;
@@ -121,6 +132,72 @@ const SpaceOverlay = styled.div`
   }
 `;
 
+class UpcomingEvent extends React.Component {
+  state = {
+    events: null,
+    loading: true,
+    fetchError: null,
+  };
+  async componentDidMount() {
+    try {
+      let events;
+      const eventsResponse = await fetch(`${baseEventsURL}${indexPageEventURL}`);
+      if (eventsResponse.ok) {
+        events = await eventsResponse.json();
+      } else {
+        throw new Error('Failed to Retrieve past events');
+      }
+      await this.setState({
+        events,
+        fetchError: null,
+        loading: false,
+      });
+    } catch (err) {
+      console.log(err);
+      await this.setState({
+        event: null,
+        fetchError: err.message,
+        loading: false,
+      });
+    }
+  }
+  render() {
+    const { loading, events } = this.state;
+    if (loading) {
+      return (
+        <SubTitle inverted color="#222">
+          Loading..
+        </SubTitle>
+      );
+    } else if (events.length === 0) {
+      return <img src={eventsCoverURL} alt="events__pic" />;
+    } else if (events === null) {
+      return <img src={eventsCoverURL} alt="events__pic" />;
+    }
+    return (
+      <div>
+        {events.slice(0, 1).map(event => {
+          const regexForImageSrc = /<img.*?src="([^">]*\/([^">]*?))".*?>/g;
+          const imageSrc = regexForImageSrc.exec(event.description);
+          return (
+            <EventCard
+              key={event.id}
+              image={imageSrc ? imageSrc[1] : imagePlaceholderURL}
+              name={event.name}
+              location={event.venue ? event.venue.name : 'Online'}
+              online={!event.venue}
+              time={event.time}
+              attendees={event.yes_rsvp_count}
+              tense={event.status}
+              link={event.link}
+            />
+          );
+        })}
+      </div>
+    );
+  }
+}
+
 export default () => (
   <Layout>
     <HeroSection pb={[2, 4]} px={[2, 1]}>
@@ -197,7 +274,7 @@ export default () => (
         <Flex align="center" justify="center" wrap>
           <Box order={[2, 2, 1]} width={[1, 1, 1 / 2]} px={[4, 4, 3]}>
             <Hide sm xs>
-              <img src={eventsCoverURL} alt="events__pic" />
+              <UpcomingEvent />
             </Hide>
           </Box>
           <Box order={1} width={[1, 1, 1 / 2]} px={[2, 3]} pt={[3, 4, 0]} pb={[4, 4, 0]}>
@@ -209,7 +286,7 @@ export default () => (
             </SubTitle>
             <Box className="box" width={[1]} pt={[2]} px={[3, 0]}>
               <Hide md lg>
-                <img src={eventsCoverURL} alt="events__pic" />
+                <UpcomingEvent />
               </Hide>
               <Link href={'/events'}>
                 <Button href={'/events'} medium>