Work Header

Bad Habits Are Sometimes Worth It

Work Text:

Cloud folded his arms. It was hard to stay mad when Zack was wearing that winning smile, beaming brighter than sunlight, but Cloud was damn well going to try.

Zack,” Cloud said, frowning for all he was worth. “This has to stop! I have drills and classes for a reason, you can’t just keep dragging me out of them because you want a quickie.”

“Aww, Cloud.” Zack leaned in, brushing his lips against Cloud’s jawline. His hands settled on Cloud’s waist. “You know it’s worth your time, though,” he purred, charm up full force.

Cloud’s frown wavered. This was how he got into these situations in the first place, because Zack was so damn irresistible. Sighing deeply, he steeled himself and shoved Zack away with one hand on the SOLDIER’s chest. “No. This is not going to become a habit.”

“I’m pretty sure it already has.”

“Then you need to break the habit.”

Zack didn’t say anything for a moment. His grip on Cloud’s waist tightened for a moment, the warmth of that smile dimming. “I’m sorry. I just… I need you.”

Cloud rapped his knuckles gently against Zack’s forehead. “You’re a big bad SOLDIER. You really can’t handle a hard on for an hour until I’m done with drills?”

“S’not that. I just saw Reno earlier, and you know how he runs his mouth…”

Cloud blinked, then gave Zack a lopsided smile. “I know he talks a lot of shit, not sure how it’s relevant though.”

“He was talking about you and, ugh. It just bothers me. Like you’re just some cute piece of ass!”

“So that made you want to come have sex with me.”

“You’re mine,” Zack pouted.

“And you’re a dumbass.” Cloud shook his head, then shifted his weight to stand cockily. “Chin up, First Class. You can’t be so insecure to think some random Turk making a passing comment in any way invalidates our relationship.”

Zack stuck his tongue out. Cloud was cute as hell when he got all authoritative. “I just wanna reaffirm our affection. Physically.”

He decided to make a demonstration of reaffirming his affection by kissing Cloud. Cloud kept his lips firmly pursed.

When Zack drew away in defeat, he finally seemed a little deflated. At least until he caught sight of the mischievous light in Cloud’s eyes that no amount of Cloud’s attempt at a serious expression could hide.

“You realise you’ve acted out of line, here, SOLDIER? If you proceed, you will be punished.”

Zack’s face split into a grin. “Oh, is that so? You’re pretty cocky for a cadet.”

Cloud only eyed Zack for a long moment. Zack caught a glimpse of it as Cloud cracked – that smile, so amused and gorgeously genuine – and then Cloud was the one kissing Zack.

Zack could have easily overpowered Cloud, in pretty much any respect. But he didn’t. Didn’t even want to. He let Cloud dominate the kiss, because damn, Cloud could kiss like that. When he made it so forceful and heated and demanding; when he tugged at Zack’s lower lips with his teeth. It was exactly that sort of thing that left Zack panting, heat quickly beginning to flare through his veins.

“If you dragged me all the way out here for this, I presume you’re at least prepared?”

“You know it.”

“Nearest lockable closet or spare room?”

“Next corridor over.”

Cloud jerked his head in a ‘well then, get moving’ gesture, and Zack immediately obliged. There was no one around in their current location – Cloud certainly wouldn’t have been so lenient with his kisses if there had been – but they automatically fell into line as they walked together in a potentially public area. Zack leading the way, Cloud hurrying along just beside him. A typical picture for a SOLDIER dragging a cadet along to do some menial task for them, except for Cloud’s hand slipped into Zack’s back pocket. He pinched Zack’s ass when Zack slowed down too long.

“Hey, I got it, I got it,” Zack insisted. He glanced around, then must have remembered which door it was he was looking for, as he made a beeline to one at the far end of the corridor.

This particular offshoot from the main corridor seemed to have been set aside as a series of offices for lower-ranked COs. They were identical small rooms, fitting a desk, a pair of chair, some shelves for filing and little else. Either there had been cut-backs on staffing, or Shinra had simply built more than required, because the last few rooms along the run had no names on the front.

Zack pushed his was into one. There was still a desk in there, but the rest of the room was stuffed with filing cabinets and stacks of paper that looked like they hadn’t been disturbed in a good while. He locked the door behind them.

Cloud was dubious. “This seems a little close to people who could hear us.”

“It’s fine, they’ll all be out running drills and yelling at cadets at the moment.”

That wasn’t quite enough to be convincing. Also, Cloud should have been one of those cadets. “Hmm. Can you be quiet?”

Zack’s answer was non-committal; he hummed something vaguely affirmative, but was more interested in getting back into Cloud’s personal space.

Cloud grabbed two handfuls of Zack’s SOLDIER top and pulled him firmly against him. “You’re impossible,” Cloud stated, before dragging Zack down to kiss him anyway.

They ended up leaning against the door; kissing, then pulling away to look into each other’s eyes before being dragged inexorably into another kiss. Each one grew more heated and needy than the last, until both of them were flushed and panting. Their hands roamed, fingers fumbling with belts and buckles, or pulling fabric free to slide beneath.

Zack’s pauldrons and SOLDIER belt ended up on the floor, and Cloud’s infantry set was quick to follow. Zack started undoing the buttons of Cloud’s shirt, getting about halfway before giving up and simply shoving the fabric up enough to get his hands on Cloud. Cloud was more successful, working Zack’s top up and then over his head. That got thrown onto the pile on the floor as well.

Cloud went for Zack’s trousers next. He undid the top button, palming the hardness beneath the fabric before pulling down Zack’s fly.

“Mmm,” Zack said, somewhere between a purr and a moan.

Cloud gave him a firm squeeze, just bordering on painful enough to get Zack’s attention. “You’re still in the doghouse, you know.”

“Really? Doesn’t seem like it…” Zack was wearing that winning smile again, if slightly heated and heady this time.

Cloud tugged on Zack’s ear. “Bend over the desk. Trousers down.”

Zack wasn’t about to argue with that. He made a damn show of it too, running his hands over his naked torso before slowly, teasingly pushing his trousers and underwear down over his hips. He stretched out as he bent over the desk, popping his ass out in a way that was just begging Cloud to spank it. And he was grinning like an idiot all the while.

Cloud had every intention of giving Zack exactly the spanking he deserved, but there was something else about Zack’s display that made Cloud pause, breath catching slightly.

“Oh. Y’know, when I asked if you were prepared, I just meant, like, did you bring lube and protection,” Cloud said wryly. His voice came out rougher than he’d intended.

He took the globes of Zack’s ass in his hands, massaging the pert flesh with his thumbs as he pulled Zack’s cheeks apart. Nestled between them was the flared base of a buttplug. A pretty big one from the look of it. He shifted the thing, pressing it inside of Zack, and Zack groaned in response.

“How long have you been wearing this?

“I might’ve had a meeting before I could escape to come find you…” Zack admitted.

Cloud continued twisting the base of the plug, grinding it dangerously close to Zack’s prostate. Zack bit back a small whimper.

“Are you seriously telling me you were sitting through a meeting with a buttplug and a hard on? Zack, c’mon. Do you have any sense of professionalism at all?”

“Sephiroth does it all the time!”

Cloud stared. “Wears a buttplug in meetings? How could you possibly know that?”

Zack started to laugh, but was cut off by a stinging slap to his ass. Cloud didn’t have the SOLDIER strength to put behind the blow, but he knew just how to cup his hand to make it sound fantastic, and sting nastily for a couple of seconds.

“Look at his damn outfit!” Zack gasped. “He’s a walking BDSM bondage model. And I swear to Gaia, I hear buzzing around him sometimes. Super faint, but… that’s a vibrator sound if I ever heard one.”

Cloud didn’t react for a long moment, simply filing that information away to deal with later. And all the possible ideas it spawned.

He spanked Zack’s ass again, and Zack whined.

“Ow, Cloud!”

Cloud rolled his eyes, grinning to himself. They both knew a little spanking from a cadet couldn’t really hurt a SOLDIER. “Tell me why you’re being punished,” Cloud said.

He couldn’t see Zack’s face from this angle, but Cloud could practically hear his pout. “I dragged you out in the middle of drills. Again.”

“One reason,” Cloud agreed. He gave Zack’s other asscheek a firm slap, then leaned over and pressed a kiss against Zack’s shoulder blade. “Keep going.”

“I… wore the buttplug? But I was just trying to be ready for you.”

Two slaps this time. “Which I appreciate, but if you’d just waited until after your meeting, and after my drills, that wouldn’t have been an issue. One more.”

Zack squirmed a little on the desk. “Uh… dunno, that’s all I can think of.”

Cloud dug a hand into the back of Zack’s spikes, pulling his head up and around. “Third is for being so stupidly attractive and wonderful that you can just smile at me and I forget about all the dumb shit you did to make me mad in the first place.”

That exact smile bloomed on Zack’s face. “Really?”

Cloud kissed him until their lips were sore. “Don’t let it go to your head,” he warned.

From the way Zack was grinning, that warning already came too late.

Cloud spanked Zack’s ass again, alternating between cheeks but not letting up until that grin was gone, replaced instead by Zack’s eyebrows knitting together and his lips parting in a soft ‘oh’. He ran his hands over Zack’s ass – it was slightly pink, just for a moment, but even as Cloud watched the colour drained away. SOLDIER healing took all the fun marks away, sadly.

One final blow, as hard as Cloud could make it. He was gratified to at least hear Zack gasp at the impact.

“And don’t pull me out of any more drills and classes,” Cloud said. “Everyone knows you only do it so we can have a quickie.”

“Aww, Cloud.”

“Now… you did bring lube and condoms as well, right?”

Zack’s grin returned full force. “Trouser pockets.”

This was easier said than to actually get to, given Zack’s trousers were down around by his knees. With a lot of shuffling and laughter and Zack coming dangerously close to kicking Cloud in the face at one point, they got his boots and trousers off entirely. Cloud retrieved the required items.

Zack perched on the edge of the desk, wearing nothing but a wide, smouldering smile. Cloud kissed him, and the two of them practically melted together.

Even while they were still kissing, Cloud laid Zack out with his back on the desk, ass hanging just off the edge. “Spread your legs for me,” Cloud murmured against Zack’s lips.

Zack did so, eagerly. Cloud ran his hands down the insides of Zack’s thighs, breath catching for a moment. He was mostly used to it by now, but every so often, in moments like this, he was reminded of just how powerful Zack was. Those thick, corded muscles could probably snap Cloud in half if Zack chose to wrap his thighs too tight around him.

And yet all that power was so willingly submitting to him. Because Zack thought it was hot, because he thought Cloud was hot, and honestly, Cloud thought it was hot as hell as well. With the right angle, a good thrust of his dick, he could make the SOLDIER moan.

Which was exactly what Cloud had every intention of doing.

He drew the buttplug out of Zack, not wasting the time to tease now. Zack sighed as it was pulled free, and wriggled his ass in invitation. He didn’t need any more prep, already slick with the lube he’d used previously and open from the plug.

Cloud hastily shoved his own pants down past his thighs. He slid the condom into place, sighing quietly at his own touch as he lubed up. Gaia, it got him hard. Being with Zack like this. The kisses, touches, getting to spank that gorgeous ass. He’d been so wrapped up in Zack that he’d hardly noticed, but he ached.

They both moaned as Cloud’s cock breached Zack, sinking in deep and steady.

“Fuck,” Cloud breathed.

“Yeah,” Zack agreed throatily.

It was so tight and hot inside him, and Zack did nothing to help matters. He squeezed himself around Cloud, tightening until Cloud gasped.

Cloud pulled out, then slammed back into Zack in retribution. “If you want this to last, you gotta stop doing that,” Cloud said, somewhere between a moan and a growl.

Zack grinned unrepentantly. But he stopped for long enough for Cloud to settle into a rhythm, the two of them moving together and Cloud started to fuck Zack in earnest. Zack’s arms wrapped around Cloud, one hand burying into blond spikes while the other clawed at Cloud’s back. Cloud’s hands were occupied with holding Zack’s legs up and spread apart as he worked between them, but he repaid the sentiment by kissing and nipping at Zack’s throat and chest.

“Nn, feels… yeah, feels good, Cloudy.”

Cloud gave a low groan of agreement.

It was hurried – it had to be, given their too close to public location and that Cloud had drills to get back to – but that didn’t stop them from enjoying it; enjoying each other. Cloud angled his thrusts to brush against that spot that made Zack moan, and Zack clenched down around Cloud until Cloud was gasping from the overstimulation.

Cloud let one of Zack’s legs fall, his hand migrating instead to Zack’s solid cock. He wrapped his fingers around the throbbing length, stroking Zack almost leisurely at the same time he was fucking him.

“Ahh, shit, Cloud, I can’t—” Zack moaned.

Cloud chuckled, though the sound came out strained and rough. “What happened to SOLDIER stamina?” he asked, giving a teasing squeeze to Zack’s cock.

“That just means—nngh, there—we get it up again, ahh…. mm, we get it up again quick. Still gonna cum if you do that though.”

“What, this?” Cloud said, stroking Zack from root to tip and the same time he fucked into him. He felt Zack clench around him, and that time he was pretty sure it wasn’t intentional.


Cloud was getting close himself – every time he buried himself deep into Zack’s tight, delicious ass felt like heaven all over again and fuck, it was amazing. Zack holding him tightly, fingers clenching and his ass twitching when Cloud thrust into him just right. That expression on his face – eyes half-closed and glazed over, a flush on his face, lips parted in pleasure. And smiling, because Zack smiled incessantly, but honestly, Cloud loved that too. Zack was having fun. They both were.

Cloud couldn’t resist leaning up to kiss Zack firmly on the mouth. Zack returned the kiss every bit as enthusiastically, their tongues tangling together while their bodies did the same.

Zack’s mouth moved lower, working instead at Cloud’s neck and the sensitive spot below his jaw.

“Mmn,” Cloud moaned in appreciation.

He picked up the pace. They were close, both of them. His thrusts grew more erratic, panting heavily as he raced towards his peak. Zack murmured suggestive nothings against Cloud’s throat.

Cloud bit his lip, stifling his moans as he came, cock bucking inside of Zack. Zack bit down lightly at the juncture between Cloud’s neck and shoulder, and Cloud shudder.

“A-aahh, Zack.

Pleasure seared through him, leaving Cloud feeling boneless and heady. He kept thrusting weakly as his cock softened, Zack knowingly clenching down around him. But that wouldn’t be enough to get Zack off; Cloud replaced the stimulation for Zack by jerking him off quicker and rougher. He knew how Zack liked it by now.

It was Zack’s turn then to try to hold back the noises he was making. He bucked his hips up into Cloud’s touch.

Yeah,” he encouraged between heady groans.

It didn’t take much more before Zack was coming as well, shooting his load out over his own stomach. A few stray drops of cum leaked onto Cloud’s hand; Cloud looked Zack dead in the eye as he licked them off.

Cloud slowly drew out of Zack, sighing as he did so. He got rid of the condom, tossing it into the dusty wastepaper basket that was on its side beneath the desk. That would probably sit there for months before anyone ever came to clean the place, but Cloud felt too relaxed and satisfied to worry about things like that.

They lay together on the desk – a little awkward and uncomfortable, but Cloud rested his head against Zack’s shoulder and spooned against his side, and they made it work with soft touches and affectionate kisses. Just for a while, as their breathing evened out.

Cloud eventually sighed and stood up. He was still dressed, for most of the part; he pulled up his trousers and redid the buttons on his shirt, smoothing both out and hoping he didn’t look too unpresentable.

Zack, on the other hand, was spattered with cum and would have a trickier time cleaning up. But he didn’t seem to mind in the slightest, if the stupid grin he was wearing was any indication.

“Mmmm, that was good,” he announced, stretching out. Cloud had to drag his eyes away from staring; the last thing he needed was to get turned on again, because Zack absolutely would suggest another round right there and then.

But, Zack did have a point. “Yeah,” Cloud agreed. He suspected he was probably wearing an equally stupid smile.

“Worth cutting out of your drills for?”

Cloud picked up Zack’s top and threw it at him, and Zack laughed.

“No,” Cloud said, like he was reprimanding a naughty puppy. That only made Zack laugh harder, and Cloud couldn’t help but relent. “Okay, maybe it was worth it this time. But seriously, don’t do it again.”

“…Alright. I know it means a lot to you, so. I’ll do my best to avoid during-class quickies.”

Zack made an attempt to get dressed, put quickly discovered he had nothing to wipe himself off with. Shrugging, he used his underwear instead to wipe of the cum and excess lube, then simply went commando. He caught Cloud looking at him in bemusement. “It’ll get me to the shower, at least.”

Cloud shook his head. It was impossible to stay upset with the man. “Whatever. I’m holding you to that no more pulling me out of class rule. Which, by the way, does extend to any kind of class, drill, training exercise, patrol, guard duty, mission, or other Shinra-required activity.”

Zack laughed. “You need to make it that specific, huh?”

“With you, yes.”

Zack pulled Cloud into a kiss. Cloud allowed it for a few long minutes, before sighing as he broke away. “Alright. I really need to get back for the end of drills, at least.”

“Okay,” Zack said, grinning lopsidedly as he eyed Cloud. He looked far too pleased with himself, which was immediately suspicious. “Um. Did you have your infantry scarf today?”

Cloud frowned for a moment in confusion, before noticing where Zack’s eyes had dropped to and putting two and two together. The way Zack had been nibbling and sucking at Cloud’s neck while they’d been going at it…

“You left hickeys on me again, didn’t you? If I left drills without hickeys and come back with them, it’ll be pretty damn obvious what we’ve been up to! At least leave me some plausible deniability here.”

“I didn’t think you were actually going to try to go back to your drills afterwards,” Zack said apologetically. “I just… wanted to make sure people knew you were taken.”

“Is this about Reno again?”

“No! I mean, not really. Maybe?”

“Zack. Hey. I love you. I love you.” Cloud rapped his knuckles lightly against Zack’s forehead, smiling. “Get that through your thick skull already.”

“Aww, Cloud. I love you too! Even when you insult me at the same time as professing your love.”

“Dork,” Cloud said, kissing him before giving Zack a small shove. “Go finish your day, and let me finish mine. I’ll see you for dinner tonight.”

“What, you’re not even gonna walk a guy down the corridor?”

“In front of a whole row of CO’s offices? Again, plausible deniability here. I’ll follow you out in a few minutes.”

Zack laughed. “I don’t think we have any deniability left to maintain.”

All too true. They were lucky Shinra had apparently run out of fucks to give about fraternization amongst the ranks. “Go on,” Cloud said, rolling his eyes fondly. “Dinner.”

Zack stole one last kiss. “Dinner,” Zack agreed. “See you then, cadet.”

“See you, SOLDIER.”

Zack left, and Cloud sighed. He really did love Zack, but honestly. He shook himself, trying to rid himself of the small dazed smile he strongly suspected he was still wearing. There wasn’t much he could do about the hickeys, but he popped his collar up to hide them as best he could. It was a futile task, but at least he’d made an effort.

His fingers lingered over one of the purple-red bruises Zack had left. The last thing he wanted was to encourage Zack, but… it was kind of hot. When Zack marked him.

Cloud grinned to himself as he gave his clothes one last smoothing out and headed back to the training hall. He had some ideas about where he wanted to mark Zack next time.