The sound of the waves mixed with the shouts from the volleyball court, but all of it felt distant to me. I was still staring at the screen on my phone. Matteo had posted a story. The picture was the one he took earlier when we were rubbing sunscreen on each other. The caption read, Boyfriend Beach Weekend, followed by a sun and a heart emoji. My stomach felt weightless in the most confusing way.
I kept glancing from the photo to Matteo. He was on the far side of the court, laughing with his friends as he waited for the next serve. Every time he moved, the light hit his abs in a way that made my breath shorten. His curls were messy from the wind, sticking to his forehead. Sand clung to his calves and thighs. His bright red shorts had ridden up a little higher with each sprint, revealing strong quads that were cut and defined. His chest gleamed with a thin sheen of sweat that made his muscles look like they were carved out of sunlight.
I could not look away. I tried. I failed.
The boys around were chatting loudly, throwing jokes around, but their voices only reached me in pieces. My focus kept pulling back to him. Matteo lifted his arm to signal he was ready for the serve and the entire line of his torso flexed. His abs tightened in a smooth ripple. His pecs shifted slightly as he bounced on his feet. He looked alive in a way that felt private and unreachable. Free. Beautiful and Impossible.
He glanced at me. Only for a second. But that second felt like a hook inside my ribs. His smile was small but real. Then he turned back to the game and I exhaled like I had been holding my breath without realizing it.
Two guys flopped onto the blanket beside me. One nudged my shoulder.
“Your boyfriend is destroying us out there.”
I tried to laugh like it was an ordinary comment that did not scramble every thought in my head.
Another leaned forward and said, “He keeps looking over here. Could you tell him to stop showing off for you. We are dying.”
I felt the heat climb up my neck. I hoped they could not see it.
“I do not control him,” I said weakly.
They cackled like I had said something clever.
They all treated me like Matteo’s partner without hesitation. It was not a joke to them. It was simply a fact. A natural part of the group dynamic. I did not know why that made my chest feel warm and tight at the same time.
The game kept crashing around us, loud and messy, bodies throwing themselves through the sand while the sky dipped deeper into pink. But the moment Matteo broke away from the court and jogged toward me, everything else blurred.
He was already flushed from playing, chest rising fast, curls sticking to his forehead. He grabbed a water bottle from the cooler, twisted off the cap, and instead of drinking, he lifted it over his head.
Cold water spilled straight through his curls and raced down his face, catching in his lashes before sliding over his cheeks. Then it kept going. Down his neck. Across the sharp lines of his chest. Over those tight ridges of his stomach. The droplets clung on his abs for a second before running lower, tracing every muscle as if they knew exactly how to torture me.
His red shorts were already clinging to his hips from sweat, but now the thin material darkened with the splash. Sand stuck to his skin in uneven patches, and the water cut clean shapes through it as it fell. His torso gleamed under the last stretch of evening light, every contour highlighted. He tipped his head back and let the final mouthfuls spill down his throat, lips parted, throat moving with each swallow, breath rough from the game.
My reaction was instant and impossible to hide. Heat surged through me, sharp and heavy, and I felt myself get hard so fast it made me choke on my own breath. I shifted on the blanket, trying to subtly adjust my boner, but my body betrayed me. Every slow slide of water down his abs made my cock pulse harder.
Matteo shook out his curls, water scattering like sparks. Then he walked the last couple steps and dropped onto the blanket beside me, close enough that the heat of him touched my skin.
He took a real sip this time, slow and unhurried, throat working again. Then he set the bottle down and rested his hand on my knee like it was the most natural thing in the world; casually.
The warmth of his palm soaked through me, crawling up my thigh, making my cock throb against the fabric of my shorts. I tried not to react. I failed.
He leaned a little closer, voice soft from breathlessness.
“Are you having fun?”
I could barely think. “Yeah. It is nice.”
His thumb brushed along my leg. Just a tiny stroke. Barely anything. But it sent a tremor up my spine. My pulse hammered. My shorts were painfully tight, still remembering him pouring water over his perfectly muscled body.
Matteo’s smile was easy, almost innocent, though nothing about the moment felt innocent to me. He shifted back onto his palms, chest stretching out, body glistening with the trails of water he had poured over himself seconds earlier.
The movement pulled my attention completely. His pecs lifted, firm and smooth. His abs tightened and relaxed in a slow rhythm. The sunlight danced over the curves and lines of his body. Every detail seemed to draw me in more. I tried to look away. My eyes drifted back against my will.
Someone shouted from the court, “Matteo, get your boyfriend off us. We are losing because he keeps smiling at you and you end up showing off for him.”
Matteo grinned, looking almost proud. He rose to his feet and winked at me before jogging back. His shoulders rolled with each stride, and his back muscles shifted in clean, strong lines beneath his tanned skin. He looked like he belonged to the ocean and the sun, and I felt something inside me fold in a way that was both sweet and painful.
The game stretched on for a while longer. I watched every movement he made. His jumps. His laughter. The way he pushed his curls back when they fell into his eyes. The way the red shorts clung to his hips when he landed hard on the sand. My face felt warm. My hands would not stay still. I tried to scroll through my phone to distract myself, but Matteo kept drawing my gaze without even trying.
Eventually the game ended. The boys scattered around the beach, talking and stretching. The sun was slipping lower, casting the world in soft orange. Matteo came back to the blanket again, dropping down beside me like gravity had pulled him here.
He let out a long sigh, his head falling back near my shoulder. His hair brushed my arm. His breathing was still fast from the game.
“I am exhausted,” he murmured.
I forced a small smile. “You looked good out there.”
He turned his head slightly, giving me a look that made my stomach tighten. His eyes softened. Something in his expression felt too tender. Too real.
He nudged my foot with his own. “Then you better have been watching me.”
I looked away before my face betrayed me. “Oh. I totally was.”
He laughed quietly, then leaned closer until our shoulders touched. His body was warm. His scent was clean and salty, mixed with sand and the faint heat of sweat. Every inch of him felt like a magnet I was trying very hard not to touch.
He looked at my phone screen. “Stop checking your phone. Look at me. I brought you here.”
My breath caught. For a split second it felt like he was talking to me and only me, not as part of an act, not for the group, not as a performance. It felt like he meant it. Then he leaned back again with a small smirk, as if he had not just said something that made my entire chest tighten.
People began to pack their things. Towels folded. Bags gathered. Shirts picked up. Coolers lifted. The sky was turning a deeper shade of gold, the waves glowing in the last light. The air had that sleepy warmth that settles in at the end of long summer days.
Antonio stretched his arms overhead. “My place is five minutes from here. Let’s just chill there. I have snacks and music. Easy night.”
The group erupted in agreement.
Matteo nodded immediately. The others started to collect their things, talking about who was bringing what and which blanket belonged to whom.
I stood up slowly and brushed sand off my legs. “You guys go. I should head home. I have had a long day.”
I said it lightly, hoping it would not sound like fear. But inside, I was scrambling. I needed space. I needed to breathe. I needed time to think before I drowned in something I could not handle.
Paul and another guy reacted instantly with loud, playful outrage.
“Bro, no. You are part of the group now.”
“Yeah man, you cannot ditch. Matteo will be pissed.”
I glanced over at Matteo. He stood a few feet away, his hands on his hips, sweat drying on his chest, curls framing his face. He gave me a small smile.
He mouthed, ‘Stay.’
Something inside me collapsed. I nodded before I could stop myself.
The group started walking toward the path. The warm air carried the scent of the sea and distant music from beach bars. I followed them through the sand, my heart unsteady, my thoughts tangled.
Why am I doing this.
Why can I not walk away.
Why does it feel so good to be his fake boyfriend.
We reached the road that led toward Antonio’s house. The sky was a deep orange now, the sun sinking low. Evening touched everything with a kind of softness that made the world feel fragile.
I kept walking with them, pretending I was not terrified by how much I wanted to stay near Matteo, even if none of this was real.
Even if it was all pretend.
Even if it was going to break me.
Antonio’s place was only a short walk from the beach, a low wide house with warm lights spilling through the windows and the sound of waves close enough to feel in my chest. The sliding doors to the balcony were open, letting in a salty breeze that pushed through the curtains. A pile of shoes crowded the entrance and beach towels hung over every chair like it was some kind of indoor campsite. Guys were stretched out on sofas and rugs, talking over each other, laughing at jokes that had become incoherent hours ago. The whole place felt young and loud and comfortable.
I froze at the doorway, already feeling like I did not belong.
Matteo brushed past me from behind, his hand catching my waist for just a second. A warm, casual touch. It jolted through me like a spark.
Inside, someone immediately handed me a soda without asking what I wanted. Another guy grinned and asked how Matteo and I met. Before I could stumble through an answer, Matteo cut in smoothly and told one version of our fake story with a confidence that made it sound real. The guys nodded, approving, as if it made perfect sense that he and I were together. No one really questioned how Matteo was dating a guy right now.
I sat on a wide sofa and Matteo dropped down beside me, close enough that our knees brushed when he shifted. I felt the contact straight through my leg.
He stole chips from the bowl balanced on my thigh and shrugged when I stared at him. He stretched one arm across the back of the sofa behind my shoulders, not quite touching me, but close enough that the heat of him settled along my back. Someone called us cute in a completely matter of fact tone and everyone agreed like it was obvious.
Every casual moment felt intimate. Too intimate. Like Matteo had forgotten the whole thing was pretend.
I kept catching myself watching him. The way he talked with his hands. The way he leaned back and laughed at something one of the guys said. The easy way he nudged my knee when he wanted my attention. The relaxed confidence of someone who felt completely at home.
He looked good like this. Loose. Warm. Smiling without thinking.
I kept remembering the kiss from a few days ago at his place. The press of his mouth on mine. The way he held my face like he had done it a hundred times before.
Hours slipped by. The air got softer and slower. One guy was snoring on a bean bag. Ian had drifted half asleep on the other end of the sofa beside us. Paul sat against the wall with his head tilted back like he had forgotten gravity. Two others lay on a rug telling a story that had lost its beginning and its end.
Antonio stood and stretched lazily before looking around the room. “Alright boys. You can crash here. No point going home at this hour.”
He scanned the room. His eyes landed on Matteo and me. A slow grin spread across his face. “The room upstairs is empty. You two can take it. Be as loud as you want.”, he winked.
I choked. Matteo coughed and pressed the back of his hand to his mouth, trying not to laugh. The guys who were awake whistled and clapped like they had been waiting for this exact moment.
I raised both hands fast. “Oh..Antonio..No no no. I am good on the couch. Seriously. I am fine.”
Antonio booed dramatically. Someone patted the sofa beside me where Ian slept facedown, mumbling into a cushion.
Antonio rolled his eyes, “Adrian, the couch is already taken. Unless you want to sleep on top of Ian.”
Ian made a weak noise that could have been disagreement or agreement. Hard to tell.
I felt trapped. Exposed and Embarrassed. Like all of them could see straight through me.
Matteo stood and touched my forearm lightly. The kind of touch no one else would think twice about, but it lit up every nerve I had.
“Come on Cole. Let’s go upstairs.”
He said it close to my ear. Close enough that I felt his breath against my neck. My whole body tightened.
I nodded before I could think or breathe.
The walk upstairs felt different from everything before. The lights in the hall were dim and warm. Matteo walked ahead of me and I found myself watching the smooth line of his back, the way the soft fabric of his red shorts moved around his legs, the relaxed swing of his arms. He looked tired and loose and unbelievably attractive.
My thoughts tangled into a tight knot. Nervousness. Want. Fear. Longing. Every feeling I had been trying to bury all day.
The room was small and simple. A queen bed. A single lamp. An open window letting in the sound of waves. The faint warmth of summer air drifting in.
Matteo closed the door. The quiet click sent a drop of heat straight down my stomach.
I tried to joke my way through the tension but my voice cracked slightly and the room felt even smaller.
“You are ok with this, right?” Matteo asked.
I lied that I was fine. I was not fine. I was the opposite of fine.
We stood there for a moment, both unsure how to move. The air was heavy with something unsaid. Matteo stepped closer. Just close enough that his warmth brushed my skin.
He lowered his voice. “You can take the left side. I move a lot. Just kick me if I bother you.”
My tongue felt too thick to answer. I nodded again, my heart frantic and loud.
The bed looked even smaller now. Matteo reached for the sheets and pulled them back in one smooth motion. His red shorts sat low on his hips, hugging the lines of his body, making my breath snag. His skin still held the heat of the beach. A soft glow from the hallway painted the muscles of his stomach, each one drawing my eyes.
He climbed into the right side and lay back with an easy sigh. I tried not to stare at the shape of his legs or the way the mattress dipped under his weight.
I pulled my shirt off without thinking. My hands felt clumsy. I slid under the sheets and the bed dipped again. The space between us shrank to something small and dangerous.
Our shoulders brushed. Then our thighs. Not fully. Not deliberately. Just the natural closeness of two bodies in a bed too small.
Matteo shifted slightly. His skin touched mine again.
The waves outside faded into the background.
I lay on my back staring at the ceiling, trying not to breathe too loudly. Matteo lay beside me, close enough that every rise of his chest nudged the air between us. His arm was inches from mine. His thigh brushed the side of my leg whenever he moved.
We stayed like that. Silent. Heat building in the stillness.
My body was too aware of him. Every breath. Every small shift. Every accidental touch.
This was fucking insane and dangerous, but this was also everything I wanted.
I closed my eyes and felt Matteo settle deeper into the mattress beside me. His body touched mine again, the faintest contact. Bare skin against bare skin. The two of us lay in the same bed, so close I could feel his warmth seeping through me, both pretending to sleep, neither of us really breathing.
And the night stretched out in front of us. Quiet and full of possibility.
If you enjoyed this story, consider supporting the author on Patreon.